【发布时间】:2015-04-14 09:45:07
【问题描述】:
我想在不同的变量中获取 address、city、state 和 country 以便我可以单独显示它,但由于 latlong 不同,我在某处获得了完整的地址而某处只有州和国家,所以由于纬度变化,我无法获得具体地址。
这是我的代码:
$geoLocation=array();
$URL = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=8.407168,6.152344&sensor=false';
$data = file_get_contents($URL);
$geoAry = json_decode($data,true);
for($i=0;$i<count($geoAry['results']);$i++){
if($geoAry['results'][$i]['types'][0]=='sublocality_level_1'){
$address=$geoAry['results'][$i]['address_components'][0]['long_name'];
$city=$geoAry['results'][$i]['address_components'][1]['long_name'];
$state=$geoAry['results'][$i]['address_components'][3]['long_name'];
$country=$geoAry['results'][$i]['address_components'][4]['long_name'];
break;
}
else {
$address=$geoAry['results'][0]['address_components'][2]['long_name'];
$city=$geoAry['results'][0]['address_components'][3]['long_name'];
$state=$geoAry['results'][0]['address_components'][5]['long_name'];
$country=$geoAry['results'][0]['address_components'][6]['long_name'];
}
}
$geoLocation = array(
'city'=>$city,
'state'=>$state,
'country'=>$country,
'address'=>$address
);
print_r($geoLocation);
【问题讨论】:
标签: php google-maps geolocation