我已阅读地理编码器gem的文档,state您可以在使用Google Premier时设置密钥,客户端和频道。
根据我在这里阅读的其他一些帖子,现在可以使用API密钥,只要你低于免费门槛,它仍然无法支付。我们需要这样做,因为我们主办Heroku并且我们一直在达到我们的每日限额。我们不是自己,但没有任何其他身份识别,我们可能达到了与其他Heroku网站共享的IP所确定的限制。使用密钥有助于识别我们,从而使我们无法达到极限。
但是,当我查看Google API的注册页面时,对于已安装的应用,网络应用等,有一系列令人困惑的客户端ID,API密钥和机密信息。使地理编码器突然变为生命所需的组合是什么?
答案 0 :(得分:9)
回答这个问题:
订阅Google Premier时,您应该已收到以gme-和密钥开头的客户端ID(请参阅https://developers.google.com/maps/documentation/business/articles/prelaunch_checklist#welcome_letter)
地理编码器所需的第三个参数是通道,可以是任何类型的字符串(请参阅https://developers.google.com/maps/documentation/business/guide#Channels)
您需要在Google门户网站中添加发布请求的授权网址列表(请参阅https://developers.google.com/maps/documentation/business/guide#URLs)。
从Geocoder doc,您可以使用以下设置:
# -*- encoding : utf-8 -*-
Geocoder.configure do |config|
config.lookup = :google_premier
config.api_key = ["gme-client-id","key", "channel"]
config.timeout = 10
config.units = :km
end
但使用客户端地理编码可能是更好的选择,例如:https://developers.google.com/maps/articles/geocodestrat?hl=fr#client
答案 1 :(得分:3)
这对我有用:
Geocoder.configure(
:lookup => :google_premier,
:api_key => [ 'GOOGLE_CRYPTO_KEY', 'GOOGLE_CLIENT_ID', 'GOOGLE_CHANNEL' ],
:timeout => 5,
:units => :km,
)
您需要使用Google Maps for Business欢迎电子邮件中的相应值替换。频道是您选择的价值。