小编Zar*_*rif的帖子

从PHP获取经度和纬度的位置

我想在不同的变量中获取地址,城市,州国家,以便我可以单独显示它,但由于不同的latlong,我在某个地方得到整个地址,而且只有州和国家,所以我无法得到具体的地址由于改变了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);
Run Code Online (Sandbox Code Playgroud)

php google-maps geolocation

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

geolocation ×1

google-maps ×1

php ×1