我有经度和纬度数据。我需要反向地理编码以分别获取城市、州、国家/地区数据。
我已经检查了谷歌服务。
谷歌提供了微观层面的完整地址。分离成城市、州、国家似乎是不可能的。
有什么建议么?
你试过一些php编码吗?这些线上的东西
$url="http://maps.googleapis.com/maps/api/geocode/json?latlng=".$latlongArr."&sensor=true";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
curl_close($ch);
$data = json_decode($json, true);
//echo $data['long_name'];
// var_dump($data);
$city = '';
$state = '';
$pincode = '';
foreach ($data["results"] as $key => $val) {
foreach($val as $k => $v)
{
if($k=="formatted_address" && substr_count($v,',')==2)
{
//echo $v;
$addressArray = explode(',',$v);
$city = $addressArray[0];
if(preg_match('/[0-9]/',$addressArray[1]))
//if(substr_count(trim($addressArray[1]),' ')==1)
{
//echo 'kk'.'->'.$addressArray[1].'->'.trim($addressArray[1]);
$tArray = explode(' ',trim($addressArray[1]));
$state = $tArray[0];
$pincode = $tArray[1];
}
//break;
}
}
//$placename = $val["name"];
// $countryname = $val['countryName'];
//$countrycode = $val["countryCode"];
}
echo $city.'<br>';
echo $state.'<br>';
echo $pincode.'<br>';