反向地理编码以获取位置详细信息

时间:2013-04-26 12:19:34

标签: python r map geocoding

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

我已查看过谷歌服务。

Google提供微观级别的完整地址。分离到城市,州,国家似乎是不可能的。

有什么建议吗?

1 个答案:

答案 0 :(得分: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>';