1

我目前正在使用谷歌地图 API。在谷歌地图 API 中,我正在从特定地址获取经度和纬度。

这是代码:

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address=1746+Esterbrook+Dr&sensor=false');

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng; 

在这个纬度和经度中,值在我的实时服务器中显示为空(null)。在我的本地主机机器中,它工作得很好。显示谷歌地图有什么要包括的吗?

4

1 回答 1

1

我个人更喜欢返回数组,因为它不那么模棱两可。您可以通过在 json 解码上将第二个参数设置为 true 来做到这一点。另外我建议假设它并不总是会返回结果,这就是为什么我添加了额外的 if 语句。Follow this URL..

PHP.net 函数 json-decode

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address=1746+Esterbrook+Dr&sensor=false');


if(strlen($geocode)>0){

  $output= json_decode($geocode, true);

  if(is_array($output) && count($output)>0)
  {
    $output[0]['location']['lat']  ;
    print_r($output); // the printr will give you a clue for the exact nesting to use above
  }

}
于 2013-03-01T16:48:00.060 回答