Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在live server中执行json解码?_Php_Javascript_Google Maps_Json - Fatal编程技术网

Php 如何在live server中执行json解码?

Php 如何在live server中执行json解码?,php,javascript,google-maps,json,Php,Javascript,Google Maps,Json,我目前在谷歌地图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->loca

我目前在谷歌地图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; 

在这个纬度和经度中,值在我的live server中显示为空(null)。在我的localhost机器中,它工作得非常好。显示谷歌地图需要包括哪些内容?

我个人更喜欢返回数组,因为它不太含糊。您可以通过在json解码中将第二个参数设置为true来实现这一点。另外,我建议假设它并不总是返回结果,这就是为什么我添加了额外的if语句


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


首先检查您在服务器上获得的
$geocode
,然后尝试
echo$geocode
$output=json_decode($geocode)之前确保已启用
允许打开url\u fopen
。我怀疑您报告了错误,所以没有人告诉您URL没有被提取,var被设置为NULL。然后var_dump($output);为了检查json是否正确解码到数组中,以及您是否亲自引用了正确的信息,我总是使用来自google的XML提要,而不是json提要,因为XML需要更少的处理,我觉得在从dev切换到live时,几乎总是一个配置问题。感谢@RohanKumar的支持注释…首先检查服务器上您在
$geocode
中获得的内容,然后尝试
echo$geocode
$output=json_decode($geocode)之前确保已启用
允许打开url\u fopen
。我怀疑您报告了错误,所以没有人告诉您URL没有被提取,var被设置为NULL。然后var_dump($output);为了检查json是否正确解码到数组中,以及您是否亲自引用了正确的信息,我总是使用来自google的XML提要,而不是json提要,因为XML需要更少的处理,我觉得在从dev切换到live时,几乎总是一个配置问题。感谢@RohanKumar的支持评论…嗨@Robbo_UK谢谢你宝贵的回答…它工作得很好…但是在我的主机服务器上,它不能正常显示…还有其他解决方案吗?否则如何在live server中启用j-son解码器?请澄清………打印是否返回结果?它应该输出一个项目列表。你试过输出$geocode来查看文件内容是否返回结果吗?嗨@Robbo_UK谢谢你宝贵的回答…它工作得很好…但是在我的托管服务器中,它不能正确显示…还有其他解决方案吗?否则如何在live server中启用j-son解码器?请澄清………打印是否返回结果?它应该输出一个项目列表。您是否尝试输出$geocode以查看文件内容是否返回结果?
$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
  }

}