在过去的几周里,是否有人使用Rails Geokit::Geocoder进行地理编码?
无论其格式如何,或者字符串本身是否可以直接输入谷歌地图并返回单个结果,我都无法再获得地理编码的地址。
既不Address1, address2, city, postcode
和
London, UK
格式将返回除"Google无法对地址进行地理编码:…"之外的任何内容。
服务是否已停止,或者其他用户在重置后立即使用每日地理编码限制?
Ruby 1.8.7 Rails 2.3.15Geokit 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/了,我把它留在里面是为了透明。
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