4

现在已经搜索了 2 天的答案,但运气不佳。

我正在开发一个 Drupal 7 站点,该站点具有使用 Google Geocoder API 从地址字段自动填充的 Geofield 字段,但几天前它停止工作:

例外:Google API 返回错误状态。\n状态:geocoder_google() 中的 OVER_QUERY_LIMIT(/home/.../modules/geocoder/plugins/geocoder_handler/google.inc 的第 52 行)。

我可以删除向 Google API 发送过多请求的邻近搜索过滤器,但我无法继续,因为每次尝试向数据库添加新记录时都会遇到上述错误(它只进行一次查找以获取来自地址字段的地理编码但失败)。有什么方法可以从 Google 的 API 中取消阻止我的网站或重置我的使用情况?我添加了一个 API 密钥,但无济于事。直到最近,这一切都很好,我想这是我在不知不觉中超过了使用限制的时候。

我的 API 经验有限,并且是 Drupal/PHP 初学者,所以请温柔一点!如果需要,很乐意提供更多信息、代码、错误消息等。正在使用的相关 Drupal 7 模块是 OpenLayers、OpenLayers Proximity、Geofield、GeoPHP 和 Geocoder。感谢任何人都可以提供的任何帮助。

4

1 回答 1

3

来自谷歌地理编码文档

使用 Google 地理编码 API 的查询限制为每天 2,500 个地理定位请求。(Google Maps API for Business 的用户每天最多可以执行 100,000 个请求。)强制执行此限制是为了防止滥用和/或重新利用 Geocoding API,并且此限制将来可能会更改,恕不另行通知。此外,我们强制执行请求速率限制以防止滥用服务。如果您超过 24 小时限制或以其他方式滥用服务,Geocoding API 可能会暂时停止为您工作。如果您继续超过此限制,您对 Geocoding API 的访问可能会被阻止。

所以,我猜你得等24小时,或者升级到商业版。

于 2013-01-19T12:35:10.347 回答