$address = "New Delhi, Delhi, India"; //taking the address by POST, used random address here
$prepAddr = str_replace(' ','+',$address);
$geocode=file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=true&key=MY_API_KEY');
$output= json_decode($geocode,true);
$latitude = $geo['results'][0]['geometry']['location']['lat'];
$longitude = $geo['results'][0]['geometry']['location']['lng'];
在此之后,我将经度和纬度的值存储在我的数据库中。问题是它有时不工作(在这种情况下,它在经度和纬度都存储0.00000000)。我大约10次面对这个问题一次或两次。在这种情况下,我不知何故我要管道检查$ output [' status']的值,它是" OK"但它仍然在经度和纬度字段中存储0.00000000。
我确信我的api有效且支持地理编码(它也没有超过每天2500个请求限制)
由于代码不起作用所以我试着这样做
$address = "New Delhi, Delhi, India";
$prepAddr = str_replace(' ','+',$address);
do{
$geocode=file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=true&key=MY_API_KEY');
$output= json_decode($geocode,true);
} while ($output['status']!="OK" || $output['status']!='ZERO_RESULTS');
$latitude = $geo['results'][0]['geometry']['location']['lat'];
$longitude = $geo['results'][0]['geometry']['location']['lng'];
现在它根本不工作。我收到消息"超过30秒的最大执行时间"过了一段时间