2007 年 2 月 16 日星期五

使用 Rails 和 Ajax 书写 Google 地图应用程序

由 josh 发布

Andre Lewis 正在为那些创建混搭和基于 Google 地图的应用程序的人提供两种资源。

Andre 的书,Beginning Google Maps Applications with Rails and Ajax: from Novice to Professional 将于 2 月 26 日起由 Apress 发行。这本著作涵盖了基础知识(让 Google 地图启用并运行,使用 JavaScript 与 Google 地图 API 交互),以及更高级的主题。例如,后来的章节展示了如何使用 RMagick 通过生成自定义地图图块在在地图上显示数以十万计的点,以及如何使用 US 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/