【问题标题】:Google Maps Geocode Status OVER_QUERY_LIMITGoogle 地图地理编码状态 OVER_QUERY_LIMIT
【发布时间】:2013-02-08 22:38:51
【问题描述】:

我了解 Google 将请求限制为每天 2,500 次...但在 EARTH 上我无法发出这么多请求,我只是不断收到“OVER_QUERY_LIMIT”

$street_no = get_post_meta($prop->ID, 'street_no', true);
$street = get_post_meta($prop->ID, 'street', true);
$street_suffix = get_post_meta($prop->ID, 'street_suffix', true);

$addr = urlencode( $street_no." ".$street." ".$street_suffix." BC Canada" );
$url = 'http://maps.googleapis.com/maps/api/geocode/json?address='.$addr.'&sensor=true';
$json_result = json_decode(file_get_contents($url));

if ( $json_result->status === "OVER_QUERY_LIMIT" ) :
    sleep(2);
    $json_result = json_decode(file_get_contents($url));
endif;

如您所见,如果我得到OVER_QUERY_LIMIT 的状态,我会告诉脚本休眠 2 秒,然后继续……这似乎在今天早上的某个时间点起作用,但现在我不能甚至对单个地址进行地理编码。

我现在不知道该怎么办......这让我的应用程序完全没用。

【问题讨论】:

  • 请求来自哪里?你的服务器?你的桌面?你的手机?您在 rackspace.com 上的共享主机?
  • 请求是从机架空间上的云站点发出的,是的。其中,当我开始输入此内容时,可能在同一 IP 上可能有其他人正在查询地理编码 api。

标签: php google-maps geolocation geocoding


【解决方案1】:

也许您每秒发送的查询太多?

看看这个帖子:

OVER_QUERY_LIMIT while using google maps

【讨论】:

  • 其实我之前发现了那个链接,它真的没有告诉我什么好东西。
【解决方案2】:

配额在共享 IP 的所有用户之间共享,因此同一共享 IP 上的其他站点必须使用 Google 地理编码器。

更多信息请参见this thread in the Google Maps API v2 group

顺便说一句 - 机架空间是一个猜测......

一种解决方法是使用基于客户端的地理编码,但请验证您的使用是否符合使用条款。

webservice now supports a key,另一种选择是在您的请求中使用密钥,以便您获得自己的配额。

【讨论】:

    【解决方案3】:

    我的 heroku 托管 java 应用程序遇到了类似的问题。我解决它的方法是设置一个微型 EC2 实例并在其上安装 Dante 以作为代理服务器运行。然后我只需通过代理路由我的地理编码请求,并且每天可以发出完整的 2,000 个请求。显然,缓存结果以最小化 api 调用也是值得的。 EC2 实例在第一年是免费的,之后仍然没有那么贵,您可以随时将它用于 Dante 之外。

    我已在此处详细说明了如何设置:Using Google geocoding from Heroku

    【讨论】:

      【解决方案4】:

      我在从 Heroku(托管在 Amazon EC2 上)上的服务器调用地理编码 REST 接口时遇到同样的问题

      如果我可以在请求中使用我的 Maps API 密钥并且他们跟踪每个 api 密钥的调用次数,则可以解决此问题。

      我同意这是一个严重的问题......

      Bing、MapQuest 和其他人有免费的地理编码 API - 你(和我)应该看看这些。

      【讨论】:

        【解决方案5】:

        您可以使用像 QuotaGuard 这样的托管代理服务,它会阻止来自共享 IP 的请求,这样您在使用 Rackspace/Heroku 等时就不会被 Google 阻止。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多