【问题标题】:Using a business API key for reverse geocoding with Google使用业务 API 密钥通过 Google 进行反向地理编码
【发布时间】:2013-10-21 20:13:13
【问题描述】:

我正在开发一个使用 Google Maps API 来反转地理编码位置的项目。

客户应该在推出生产时购买许可的 API 密钥。

现在我正在开发应用程序,我还需要在使用有效的(无论是免费的还是商业的)API 密钥时测试其功能。

让我们选择一个反向地理定位请求示例

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true

我已在https://code.google.com/apis/console/ 中注册了一个开发者帐户并生成了一个服务器 API 密钥。然后我启用了 Google Geolocation APIs 和 Google Maps API v3(我想我只需要第二个)。

在我之前的请求中添加&key=XXX 参数时,我收到一个错误,即密钥无效。

仔细阅读文档后,我发现我使用的地理定位服务实际上是 Maps Web Service API 的一部分(Maps V3 API 在浏览器上作为 Javascript 运行)。我试图在控制台的服务列表中找到这些 API,但找不到更多。

如何将 Google 的反向地理编码 API 与业务密钥一起用于将处理数千个日常请求的项目?

【问题讨论】:

标签: google-maps google-maps-api-3 geolocation geocoding reverse-geocoding


【解决方案1】:

在没有 api 密钥的情况下,Google 地理编码 API 具有以下限制:每天 2,500 个请求。 Google Maps API for Business 客户的限制更高:每天 100,000 个请求。

要使用 API for Business,您必须使用 URL 签名,请参阅 https://developers.google.com/maps/documentation/business/webservices/auth

注意:如果您要从免费 API 服务切换到 Maps API for Business 实施,则必须从请求中删除 key 参数。 Google Maps API 网络服务将拒绝同时使用客户端 ID 和密钥的请求。

【讨论】:

  • 是否有可能获得一个免费密钥,从编程的角度来看,它的行为与业务密钥完全相同?我只需要验证代码。我生成的“服务器密钥”没有关联私钥,因此我无法实现 URL 签名
  • 根据文档:“对于服务器和浏览器密钥,请在所有请求中添加 key=your_key 参数以使用该密钥,将 your_key 替换为控制台的“API密钥”部分中显示的值” .所以我使用了带有 key= 参数的有效服务器密钥(免费使用层),但 Google 拒绝了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 2019-06-16
  • 1970-01-01
  • 2018-10-15
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
相关资源
最近更新 更多