1

在过去的几周里,有没有人使用 Rails Geokit::Geocoder 能够使用它进行地理编码?

无论格式如何,或者字符串本身是否可以直接输入谷歌地图并返回单个结果,我都无法再获取地址进行地理编码。

两者都不

Address1, address2, city, postcode

也不

London, UK

格式将返回除“Google 无法对地址进行地理编码:...”以外的任何内容。

服务是否已停止,或者其他用户在重置后是否正在消耗每日地理编码限制?

红宝石 1.8.7

导轨 2.3.15

Geokit 1.6.5

编辑:

经过进一步调查,我确定对地理编码限制的评论并非如此,我的 api 密钥没有解决问题。

--- 使用过的解决方案 ---

这是我使用的替代方法(在发布答案之前)。

def self.geocodeAddress address
    address.gsub!(/,/, ",+").gsub!(/\s/, "")
    res = MultiJson.load open("http://maps.googleapis.com/maps/api/geocode/json?address=#{address}&sensor=false").read()
    res["results"].first["geometry"]["location"] if res["status"] == "OK"
end

不记得为什么要替换 /\s/ 了,我把它留了下来以保持透明..

4

1 回答 1

3

Geokit 之前使用的是 Google Maps API v2。该 API 已被弃用。要使 Geokit 使用带有 rails 的新版本,请更新您的 geokit_config.rb 文件:

Geokit::Geocoders::provider_order = [:google3, :us]
Geokit::Geocoders::Google3Geocoder = Geokit::Geocoders::GoogleGeocoder3

请参阅此问题以供参考:https ://github.com/geokit/geokit/issues/86

于 2013-11-03T04:07:17.610 回答