2007 年 2 月 16 日,星期五

使用 Rails 和 Ajax 编写 Google Maps 应用

由 josh 发布

Andre Lewis 正在为那些正在创建混搭应用和基于 Google Maps 的应用的人推出一系列资源。

Andre 的书,《Beginning Google Maps Applications with Rails and Ajax: from Novice to Professional》,将于 2 月 26 日由 Apress 出版。这本书涵盖了基础知识(让 Google 地图运行起来,以及在 JavaScript 中与 Google Maps API 交互),以及更高级的主题。例如,后面的章节展示了如何使用 RMagick 通过生成自定义地图瓦片在地图上显示数十万个点,以及如何使用美国 TIGER/Line 普查数据创建自己的地理编码器。这本书还涉及屏幕抓取和批量数据处理——例如,使用 Ruby 从命令行处理大型文本文件,以及纯 ActiveRecord 数据库导入与 MySqlImport 的性能影响。

与地图相关的还有,Andre 最近发布了 GeoKit。GeoKit 提供了一套工具,让基于地图的应用更易于使用

  • 以英里或公里为单位的距离计算:distance = first_location.distance_to(second_location, :units => :miles)
  • 基于 ActiveRecord 的距离查找:Store.find(:all, :origin=>[37.792,-122.393], :conditions=>'distance < 10')
  • ……以及直接从地址查找:Store.find_closest(:origin=>'100 Spear St, San Francisco, CA')
  • 来自 Google、Yahoo、Geocoder.us 和 Geocoder.ca 地理编码服务的地理编码。它为所有地理编码器提供统一的响应结构,并且在某个地理编码器失败时,还有一个可配置的故障转移机制。
  • 基于 IP 的位置查找。提供一个 IP 地址,即可返回城市名称和经纬度。

Andre 关于 GeoKit 的公告 在此。GeoKit 的合著者 Bill Eisenhauer 也 放了一些实时演示。GeoKit 在 RubyForge 的主页是 http://geokit.rubyforge.org/