【发布时间】:2010-02-11 02:47:57
【问题描述】:
我过去使用过 GeoKit 和acts_as_geocodable。我喜欢 GeoKit,但它缺少一些更好的功能,比如 named_scopes。我不是acts_as_geocodable 的忠实粉丝,因为它会将地址数据复制到自己的表中。
最近,这些宝石似乎维护不足。
有哪些积极维护的 gem?
【问题讨论】:
我过去使用过 GeoKit 和acts_as_geocodable。我喜欢 GeoKit,但它缺少一些更好的功能,比如 named_scopes。我不是acts_as_geocodable 的忠实粉丝,因为它会将地址数据复制到自己的表中。
最近,这些宝石似乎维护不足。
有哪些积极维护的 gem?
【问题讨论】:
我维护 Geocoder gem:
http://rubygems.org/gems/geocoder
源代码:
http://github.com/alexreisner/geocoder
我可以告诉你它得到了积极的维护,因为我在写这篇文章时正在研究 Rails 3 的兼容性!它的设计非常简单,同时提供最常用的地理编码功能。它提供命名范围并且不复制任何数据。
【讨论】:
:if 选项添加到before_save。
script/plugin install http://github.com/alexreisner/geocoder.git),则不需要您的 :if 选项——如果搜索词(地址)为空,它不会查询 Google。这也将在下一个 gem 版本中发布,但不会在几天内发布。
地理编码器的插件版本对我来说非常有用。请注意,您必须将“scope”重命名为“named_scope”才能使其在低于 rails 3 的任何环境中工作。
【讨论】:
有一个'geokit-rails3' gem 也可以做地理编码和反向地理编码:
https://github.com/jlecour/geokit-rails3
它提供了多种地理编码器,如GoogleGeocoder和YahooGeocoder,因此您可以根据您要渲染的地图选择最合适的一个。
【讨论】: