在PHP中,我能够从提供的地址搜索lat long。但在相反的情况下,如果我从先前得到的lat中搜索地址,那么它会显示不同的结果。 这意味着如果我通过检查google map lat long和adress,反之亦然,它会显示不同的结果
//Code to find Lat Long
$address = "My address, My city, Zipcode";
$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=".urlencode($address)."&sensor=false®ion=India");
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
//Code to find Address from lat long
http://maps.google.com/maps/api/geocode/json?latlng=lat,long
以上代码假设返回先前给定的$ address。但它显示了不同的地址
答案 0 :(得分:0)
function get_lat_long($adrs)
{
$latlngArr="";
$adrs=str_replace(" ", "+", $adrs);
$str_add=file_get_contents("http://maps.google.com/maps/api/geocode/xml?address=".$adrs."&sensor=false");
$latlngArr["full_str"]=$str_add;
$array_lat=explode("<lat>", $str_add);
if(count($array_lat)>1)
{
$pos_lat=strpos($array_lat[1], "</lat>");
$lat=substr($array_lat[1], 0, $pos_lat);
$latlngArr["lat"]=$lat;
}
$array_lng=explode("<lng>", $str_add);
if(count($array_lng)>1)
{
$pos_lng=strpos($array_lng[1], "</lng>");
$lng=substr($array_lng[1], 0, $pos_lng);
$latlngArr["lng"]=$lng;
}
return $latlngArr;
}