我试过google reverse geocode.Following函数多次调用for循环...这个随机工作...有时响应地址完美......有时没有响应......这里有什么问题......
function reversegeo($ilatt,$ilonn)
{
$url1='http://maps.googleapis.com/maps/api/geocode/json?latlng='.$ilatt.','.$ilonn.'&sensor=false';
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch1, CURLOPT_REFERER, 'http://www.mywebsiteurl.com/Trackfiles/report.php');
$body1 = curl_exec($ch1);
curl_close($ch1);
$json1 = json_decode($body1);
$add=$json1->results[0]->formatted_address;
return $add;
}
答案 0 :(得分:1)
您可能经常或太快地击中服务器。使用sleep()
添加一些延迟。
另外,当你说“没有回应”时,你需要更加具体。如果您经常使用它,谷歌会提供错误代码,它不会一无所获。
而不是:
$body1 = curl_exec($ch1);
执行:
if(($body1 = curl_exec($ch1)) === false) {
echo 'Curl error: ' . curl_error($ch);
}