2012-06-20 158 views
1

当试图通过Google地理编码获取纬度和经度时,我对OVER_QUERY_LIMIT有疑问。即使我已经等了超过24小时,它也无法工作。我没有超过2500个请求,最多是100个。使用Google地图时出现OVER_QUERY_LIMIT问题地理编码

问题OVER_QUERY_LIMIT只发生在我的服务器(webhotel)上。当使用我的本地机器(本地主机)时,我完全没有遇到任何问题。

我觉得有一个块在某个地方,但我不确定。谁能帮我吗?

+0

您是通过IP地址进行地理编码还是提交街道地址以获取坐标? – Matt

+0

我通过提交地址进行地理编码以获取经纬度。我在同一个webhotel提供商上有另一个域名,在那里我没有遇到任何问题。 – user1469142

+0

谢谢;我相应地更新了我的答案。 – Matt

回答

0

如果您处于共享服务器环境中,则可能是同一IP上的其他人正在主动查询Google地理编码服务。这就是为什么在你的本地主机上(它有不同的IP地址),你根本没有遇到任何问题。

更新(基于评论以上):既然你提到它的矛盾是有点怪异,我不是100%肯定是什么的原因。但是,最好的解决方案可能是寻找允许地理编码集成的服务,并且最好允许您保留结果。您还会不必要地将所有查询放在没有真正存在的地址上(或者您至少会得到错误的坐标)。

事情我已经在SmartyStreets上工作时被称为LiveAddress - 就像谷歌的API,但更易于使用,而且只返回有效结果(这意味着你不会得到坐标为不地址存在)。它是免费的,可能没有查询限制,并且从来没有任何TOS限制可能会在这里遇到。而且我很确定,即使您查询了地址,也不会在您的帐户中扣除无法验证的地址。

所以这是另一个选项,您可以考虑解决您遇到的限制。

0

如果你有自己的API密钥,只需通过添加您的信用卡信息(谷歌只是用它们来验证的目的,他们不会收你的,除非你purcase谷歌API总理)验证您的帐户。这会将每天的限制提高到250,000个请求,并为您提供唯一的API密钥和实时统计信息。

您可以在Google API console中执行此操作。

0
$output= json_decode(stripcslashes(file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?latlng='.$data['lat'].','.$data['lon'].'&sensor=false&language=ru'))); 
print $output->results[0]->formatted_address
相关问题