0

我有经度和纬度数据。我需要反向地理编码以分别获取城市、州、国家/地区数据。

我已经检查了谷歌服务。

谷歌提供了微观层面的完整地址。分离成城市、州、国家似乎是不可能的。

有什么建议么?

4

1 回答 1

0

你试过一些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>';
于 2013-04-26T12:22:28.243 回答