反向地理编码响应随机在php


Reverse Geocoding Responses randomly in php

我试过谷歌反向地理编码。以下函数在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;
}

您可能访问服务器太频繁或太快了。在sleep()中添加一些延迟

当你说"没有回应"时,你需要更具体。如果你点击的次数太频繁,Google会给出一个错误代码,而不是什么都没有。

代替:

$body1 = curl_exec($ch1);

:

if(($body1 = curl_exec($ch1)) === false) {
  echo 'Curl error: ' . curl_error($ch);
}