Ruby on rails Rails Geokit:Multigeocoder地理编码服务关闭了吗
在过去的几周里,有没有人能够使用Rails Geokit::Geocoder对其进行地理编码 我再也无法获得地理编码的地址,无论其格式如何,或者字符串本身是否可以直接输入谷歌地图并返回单个结果 都不是Ruby on rails Rails Geokit:Multigeocoder地理编码服务关闭了吗,ruby-on-rails,geokit,Ruby On Rails,Geokit,在过去的几周里,有没有人能够使用Rails Geokit::Geocoder对其进行地理编码 我再也无法获得地理编码的地址,无论其格式如何,或者字符串本身是否可以直接输入谷歌地图并返回单个结果 都不是 Address1, address2, city, postcode 也不是 格式将返回除“Google无法对地址进行地理编码:…”以外的任何内容 服务是否已停止,或者其他用户是否在重置后立即使用每日地理编码限制 Ruby 1.8.7 轨道2.3.15 Geokit 1.6.5 编辑: 经过进一
Address1, address2, city, postcode
也不是
格式将返回除“Google无法对地址进行地理编码:…”以外的任何内容
服务是否已停止,或者其他用户是否在重置后立即使用每日地理编码限制
Ruby 1.8.7
轨道2.3.15
Geokit 1.6.5
编辑:
经过进一步调查,我确定关于地理编码限制的评论不是这样,我的api密钥没有解决这个问题
---用过的溶液---
这是我使用的备选方案(在发布答案之前)
我记不起为什么要更换/\s/了,为了透明起见,我把它保留了下来。Geokit以前使用过Google Maps API v2。那个API已经被去除了润滑油。要使Geokit与rails一起使用新版本,请更新Geokit_config.rb文件:
Geokit::Geocoders::provider_order = [:google3, :us]
Geokit::Geocoders::Google3Geocoder = Geokit::Geocoders::GoogleGeocoder3
请参阅本期参考资料:谢谢。我发现这与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
Geokit::Geocoders::provider_order = [:google3, :us]
Geokit::Geocoders::Google3Geocoder = Geokit::Geocoders::GoogleGeocoder3