我有经度和纬度数据。我需要反转地理编码以分别获取城市,州,国家数据。
我已查看过谷歌服务。
Google提供微观级别的完整地址。分离到城市,州,国家似乎是不可能的。
有什么建议吗?
答案 0 :(得分:0)
$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>';