我有一个奇怪的问题。突然间,我的Google地理编码API的PHP实现决定停止工作。它现在为每个请求返回错误602,意味着地址不可用。但是,如果我打开我正在查询的实际网址,它可以正常工作,我可以下载正确的信息。但是如果我使用curl来抓取它,则返回602而不是200。
我尝试更改API密钥,以及检查和测试网址。
答案 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。