【发布时间】:2010-12-14 18:45:14
【问题描述】:
什么是可用的(最好的)基于 ruby IP 的地理定位 gem/插件?
它们在功能、性能和易用性方面如何比较(例如它们是否与网络服务交互,或需要单独的数据库等)?
我希望任何使用过的人都可以分享他们的经验并提出建议。
【问题讨论】:
标签: ruby-on-rails ruby rubygems geolocation ruby-on-rails-plugins
什么是可用的(最好的)基于 ruby IP 的地理定位 gem/插件?
它们在功能、性能和易用性方面如何比较(例如它们是否与网络服务交互,或需要单独的数据库等)?
我希望任何使用过的人都可以分享他们的经验并提出建议。
【问题讨论】:
标签: ruby-on-rails ruby rubygems geolocation ruby-on-rails-plugins
您目前最好的选择可能是 GeoKit(http://github.com/andre/geokit-gem 用于 gem,http://github.com/andre/geokit-rails 用于插件)。它内置了 Yahoo 和 Google API 密钥、距离计算助手、反向地理定位等功能。
但是,GeoMereLaal (http://github.com/parolkar/geo_mere_laal/) 基于 W3C Geolocaton API 的工作草案。目前它非常有限,因为我只能在 Firefox 中使用它,但它会更准确,因为它使用更多的地理定位方法(GPS、WiFi、cookie、IP),因此得到了更多浏览器的支持。
【讨论】:
RubyGeocoder 似乎是当前的最爱,并且一直在更新。随附railscast 剧集! http://rubygeocoder.com/
【讨论】:
更易于使用且设置更快,但功能更少:http://humbuckercode.co.uk/licks/gems/geoip。
没有外部查询,没有架构更改,速度非常快。
【讨论】:
虽然我从未使用过它,但 Graticule 看起来很有希望。
【讨论】:
Geocoder 是一个完整的 Ruby 地理编码解决方案。借助 Rails,它添加了地理编码(按街道或 IP 地址)、反向地理编码(根据给定坐标查找街道地址)和距离查询。就像在对象上调用地理编码一样简单,然后使用 Venue.near("Billings, MT") 之类的范围。
【讨论】: