首页 文章

使用完整地址无法获得正确的纬度和经度

提问于
浏览
3
$fulladdress = 'South Bay Hospital 4016 Sun City Center Blvd Sun City Center Florida 33573';
$address = str_replace(' ','+',$fulladdress);

$url = "http://maps.googleapis.com/maps/api/geocode/json?address='".@urlencode($address)."'&sensor=false";

$result_string = @file_get_contents($url);<br>
$result = @json_decode($result_string, true);<br>
$result1[]=@$result['results'][0];<br>
$result2[]=$result1[0]['geometry'];<br>
$result3[]=$result2[0]['location'];<br>
return $result3[0];

我正在使用这个谷歌地理编码API获取经度和经度 . 我已通过完整地址“南湾医院4016太阳城市中心大道太阳城市中心佛罗里达33573”,但它没有给出完整的经纬度 . 当我检查print_r($ result)时 . 所以它正在自动删除“南湾医院”并给出“4016太阳城市中心大道太阳城市中心佛罗里达33573”的经纬度,这就是为什么谷歌 Map 标记不正确的地方 .

2 回答

  • 1

    检查一下:

    // We get the JSON results from this request
    $geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false');
    // We convert the JSON to an array
    $geo = json_decode($geo, true);
    // If everything is cool
    if ($geo['status'] = 'OK') {
      // We set our values
      $latitude = $geo['results'][0]['geometry']['location']['lat'];
      $longitude =  $geo['results'][0]['geometry']['location']['lng'];
    }
    
  • 1

    它为我工作

    $address = "Your Address";
            $prepAddr = str_replace(' ', '+', $address);
            $geocode = file_get_contents('http://maps.google.com/maps/api/geocode/json?address=' . $prepAddr . '&sensor=false');
            $output = json_decode($geocode);
            $latitude = $output->results[0]->geometry->location->lat;
            $longitude = $output->results[0]->geometry->location->lng;
    

相关问题