首页>参考读物>计算机科学与技术>软件与程序设计

Google Maps应用程序Rails和Ajax开发指南
作者 : Andre Lewis Michael Purvis;Jeffrey Sambells Cameron Turner
译者 : 龚波 吴耀宇
出版日期 : 2008-05-02
ISBN : 7-111-23695-5
定价 : 38.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 268
开本 : 16开
原书名 : Beginning Google Maps Applications with Rails and Ajax:From Novice to Professional
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

亲爱的读者:  
  Google Maps API开启了创建地理应用程序的便捷之门。同时,Ruby on Rails也是一个高效的开发环境,而且易于使用。本书讨论两种工具的有效集成。
  在本书中,你将学习使用Ruby on Rails创建Google Maps应用程序所需要了解的所有内容。本书首先讲解如何实现“Hello World”地图应用程序,讨论如何在地图上添加标记以及提供交互能力;接着,你将掌握如何使用地理解码  (geocoding)服务,把街道地址转换为地图上的标记点;最后,你还会学习如何使用CSS和JavaScript来创建用户界面。
  本书还会讨论很多有关地理应用程序的高级话题,比如有关地图投射的运算公式和方法。本书后面几个章节深入介绍我们喜欢的内容。本书第7章使用RMagick来覆盖地图上任意内容。动态服务器端图像生成是一非常强大的技术,如果能够集成到地图应用程序中就更加完美了。我们可以使用这种技术,在地图上显示超过115000个的标记点,这个数量远远超出传统方式能够支持的程度。
  本书第11章介绍另外一个有趣的主题,即你可以使用美国Census Bureau的数据,从头开始创建自己的地理解码器(geocoder)。这个范例充分展示脚本语言Ruby的优势,因为它需要大量处理一般的文本文件。

  Ruby on Rails和Google Maps是个绝妙的开发组合。希望你愉悦地使用本书所介绍的技术,就像我们编写本书的过程一样。
  Andre Lewis、Michael Purvis、Jeffrey Sambells和Cameron Turner

图书特色

封底文字

亲爱的读者: Google Maps API开启了创建地理应用程序的便捷之门。同时,Ruby on Rails也是一个高效的开发环境,而且易于使用。本书讨论两种工具的有效集成。 在本书中,你将学习使用Ruby on Rails创建Google Maps应用程序所需要了解的所有内容。本书首先讲解如何实现“Hello World”地图应用程序,讨论如何在地图上添加标记以及提供交互能力;接着,你将掌握如何使用地理解码 (geocoding)服务,把街道地址转换为地图上的标记点;最后,你还会学习如何使用CSS和JavaScript来创建用户界面。 本书还会讨论很多有关地理应用程序的高级话题,比如有关地图投射的运算公式和方法。本书后面几个章节深入介绍我们喜欢的内容。本书第7章使用RMagick来覆盖地图上任意内容。动态服务器端图像生成是一非常强大的技术,如果能够集成到地图应用程序中就更加完美了。我们可以使用这种技术,在地图上显示超过115000个的标记点,这个数量远远超出传统方式能够支持的程度。 本书第11章介绍另外一个有趣的主题,即你可以使用美国Census Bureau的数据,从头开始创建自己的地理解码器(geocoder)。这个范例充分展示脚本语言Ruby的优势,因为它需要大量处理一般的文本文件。 Ruby on Rails和Google Maps是个绝妙的开发组合。希望你愉悦地使用本书所介绍的技术,就像我们编写本书的过程一样。 Andre Lewis、Michael Purvis、Jeffrey Sambells和Cameron Turner

作者简介

Andre Lewis Michael Purvis;Jeffrey Sambells Cameron Turner:暂无简介

译者简介

龚波 吴耀宇:暂无简介

译者序

Google Maps的诞生标志着互联网地图服务的兴起。Google Maps API是Google推出的编程API,可以让全世界对Google Maps有兴趣的程序员自行开发基于Google Maps的服务,建立自己的地图网站,从而降低开发地理应用程序的门槛,把Google的地图信息和自己的数据整合起来以建立自己的地理信息服务。
  2006年4月3日,Google推出了Google Maps API 2,第2版能对第1版提供99%的兼容性。目前,Google Maps API的开发工作在始终不断进行着。随着API功能的逐渐增强,全世界也涌现出越来越多“快捷和实用”的地理应用程序。
  本书以实例方式介绍如何在Ruby on Rails平台上使用Google Maps API。为什么要采用Rails来使用Google Maps API呢?因为Rails是简单的、强大的,同时也是免费的。使用Rails框架可以大幅度提升基于数据库的Web应用程序的开发效率。把Rails和Google Maps API集成起来,可以开发绝妙的Web应用程序。借助于Rails,也可以很容易生成和使用XML。借助于XML,Google Maps可以更广泛地得以应用。Rails也提供对JSON(JavaScript Object Notation)的内置支持。
  本书是国内引入的第一本有关Google Maps API开发的专业图书。本书作者Andre Lewis、Michael Purvis、Jeffrey Sambells和Cameron Turner具有丰富的阅历,对新技术孜孜以求。作者们积极参与Google Maps API成长进程,具有丰富的应用开发经验。
  本书的可读性和实践性都很强,并不是简单陈列API方法或者事件,而是向读者详细介绍:如何基于现有免费资源,提供全面的代码范例,演示如何逐步建立地理应用程序。
  本书内容包括初识Google Maps、跨越基础和高级地图功能和方法3部分,还提供Google Maps API参考。本书不仅能够满足Google Maps API初学者的入门需求,也给高级开发者提供了很多重要的建议。阅读本书之后,读者会对Google Maps API有深入了解,具备开发基于Google Maps API应用程序的能力。
  原书的句子比较晦涩,涉及的领域知识比较广泛。译者们竭力保证译文的正确、通顺和优雅,但错误之处在所难免,恳请广大读者多加指正。
  本书主要由龚波、吴耀宇和徐雅丽翻译,龚波负责最后的统稿。其他参与本书翻译和质量保证的人员还有张平、田丽韫、李志、任志宏、韩存兵、田振中、赵军锁、陈蓓、姜南。感谢大家的辛勤工作和专业精神。同时,还要感谢出版社编辑们的辛勤工作!

  译者
  2008年3月

图书目录

目录
译者序
关于作者第一部分初识Google Maps
第1章Google Maps和Rails
11KML:第一个地图
12Warfaring:第二个地图程序
121添加第一个停靠点
122添加飞行路线
123添加目的地停靠点
124添加行车路线
13已经掌握Rails吗
14接下来的内容
第2章开始行动
21关于JavaScript、帮助器和插件
22创建自己的Rails应用程序
23第一个地图
231密钥
232讨论范例地图
233指定一个新的位置
234分离代码和内容
235内存清理工作
24基本的用户交互
241使用Map控件
242创建标记
243检测标记单击操作
244打开信息窗口
25标记点的列表
251使用数组和对象
252迭代
26小结
第3章与用户和服务器交互
31添加交互能力
32寻宝游戏
33回顾应用程序结构
34完善自己的应用程序
341创建新的控制器
342创建标记模型和迁移
343创建数据库,使用Rails连接数
据库,并运行迁移
344创建地图视图
35创建地图和标记点
36监听用户事件
37使用信息窗口获取更多信息
371在地图上创建信息窗口
372在信息窗口中嵌入一个表单
373避免模糊状态
374控制信息窗口的尺寸
38实现Ajax
381Google的GXmlHttp 与Prototype
的AjaxRequest
382使用Google的Ajax对象
383使用GXmlHttp实现数据保存
384解析JSON结构
39从服务器检索标记
310添加一些新风格
311Ajax和Prototype
312小结
第4章地理解码地址
41准备地址数据
411创建模型
412添加fulladdress方法
413填充数据库表
42使用地理解码Web服务
421使用地理解码服务的需求
422Google Maps API地理解码器
423Google JavaScript地理解码器
424Yahoo Geocoding API
425Geocoderus
426Geocoderca
427Google覆盖范围之外的其他
地理解码服务
43持久保存查找结果
44创建一个商店位置地图
45小结
第二部分跨越基础
第5章使用第三方数据
51使用可下载的文本文件
511下载这个数据库
512操作文件
513关联和导入数据
514使用新的数据库模式
52界面抓取
521我们的脚本工具:scrAPI
522界面抓取需要考虑的问题
53小结
第6章改进用户界面
61CSS:改进自己的风格
611最大化地图
612添加悬浮的工具条
613创建可收缩的侧面面板
62脚本实现的样式
621改变文档体的类属性
622使用JavaScript代码来调整尺寸
623填充侧面面板
624获取侧面面板的反馈
63过滤数据点
64RJS和可拖放的工具条
641RJS模板
642可拖放的工具条
65小结
第7章优化和调整大型数据集
71限制
72服务器和客户端通信的串行化
73优化服务器端处理过程
731服务器端边界方法
732服务器端公用点方法
733服务器端集群
734定制的细节覆盖层方法
735定制图格方法
74优化客户端的用户体验
741客户端边界方法
742客户端最靠近公用点方法
743客户端集群
744更多的客户端优化方法
75小结
第8章Google Maps API预计
改进之处
81运动方向
82集成的Google服务
83KML数据
84更多的数据层
85满足企业级需求
86界面改进
87小结
第三部分高级地图功能和方法
第9章高级提示和技巧
91调试地图
92使用API与地图进行交互
921帮助你找到自己的位置
922使用GEvent强迫触发事件
923创建自己的事件
93使用GOverlay创建地图对象
931选择覆盖层的窗格
932创建一个快速的工具提示
覆盖层
94创建定制的控件
941创建控件对象
942创建容器
943容器定位
944使用这个控件
95向信息窗口添加标签
951创建有标签的信息窗口
952收集信息窗口信息和修改标签
96创建定制的信息窗口
961创建覆盖层对象和容器
962绘制LittleInfoWindow
97实现自己的地图类型、图格和投影
971GMapType:粘合在一起
972GProjection:定位事物
所处位置
973GTileLayer:查看图像
974Blue Marble地图:把所有事物
集成起来
98小结
第10章线段、长度和区域
101从平面开始
1011长度和角度
1012面积
102考虑球体环境
1021大圆圈
1022大圆圈长度
1023球体表面的面积
103使用折线
1031创建折线演示程序
1032扩展折线演示程序
104关于UTM坐标
105与日期变更线冲突
106小结
第11章高级地理解码话题
111数据来自于什么地方
1111来自于政府数据源的数据
1112原始的GIS数据源
112基于邮政编码的地理解码服务
113使用TIGER/Line数据
1131理解和定义数据
1132解析和导入数据
1133创建地理解码服务
114小结
附录
附录A搜索需要的数据
附录BGoogle Maps API

教学资源推荐
作者: Alfred V. Aho;Monica S.Lam;Ravi Sethi;Jeffrey D. Ullman
作者: Stuart Reges;Marty Stepp
作者: Steven S.Muchnick
参考读物推荐
作者: 潘红莲 杨光辉 张涛 夏坤庄 著
作者: (美)Allen B. Downey著