谷歌地理编码怪异

时间:2009-05-22 19:18:03

标签: google-maps geocoding

我有一个奇怪的问题。突然间,我的Google地理编码API的PHP实现决定停止工作。它现在为每个请求返回错误602,意味着地址不可用。但是,如果我打开我正在查询的实际网址,它可以正常工作,我可以下载正确的信息。但是如果我使用curl来抓取它,则返回602而不是200。

我尝试更改API密钥,以及检查和测试网址。

5 个答案:

答案 0 :(得分:2)

我曾经将我的国家/地区(“澳大利亚”)添加到地理编码搜索字符串中,以将自由格式文本搜索限制为“本地”地址。这似乎杀了它。

geocoder.geocode(event.arg + "Australia");

现在我在构造函数中添加它(Actionscript,但可能适用于其他语言)

var geocoder:ClientGeocoder = new ClientGeocoder(
            new ClientGeocoderOptions({
                countryCode: "AU",
                language: 'en'/
            }));

答案 1 :(得分:1)

我正在使用以下方法进行地理编码。你可以尝试一下,以确保它不是一个cURL问题。

$request_url = $base_url . "&q=" . urlencode($address);
$xml_string = file_get_contents($request_url);
$xml_string = str_replace('xmlns=', 'ns=', $xml_string);
$xml = simplexml_load_string($xml_string);

另外,如果您还没有看到使用PHP进行地理编码的this tutorial,请务必查看。

答案 2 :(得分:1)

这是一个迟到的回复。

根据http://code.google.com/intl/en/apis/maps/documentation/geocoding/

不再需要Maps API密钥。

  

注意:Google地理编码API没有   更长时间需要Maps API密钥!谷歌   Maps API Premier客户必须   另外使用a签名他们的URL   新的加密密钥。

但是有一个限制。

  

使用Google地理编码API是   受限于2,500的查询限制   每天的地理位置请求。 (用户)   Google Maps API Premier可能会表现出色   每天100,000个请求。)这个   强制执行限制以防止滥用   和/或重新利用地理编码   API,此限制可能会更改   未来不经通知。   此外,我们强制执行请求   限制,以防止滥用   服务。如果超过24小时   限制或以其他方式滥用服务,   Geocoding API可能会停止工作   你暂时的。如果你继续   超过此限制,您可以访问   地理编码API可能会被阻止。

限制的解决方法是同时请求使用多个代理的地理编码。如果您有10个具有不同IP地址的代理,则可以每天请求25000个地理编码。

答案 3 :(得分:0)

如果它无法对正在尝试的地址进行地理编码,则返回602.

答案 4 :(得分:0)

Google现在会在您的请求中强制执行有效密钥,因此请务必指定

&key=YOUR_VALID_KEY&sensor=false

在您的请求中。

如果你没有传递有效密钥,你将获得602。