2015-05-13 63 views
-1
function getlatlang($location,$region) 
{ 
    $geocode = file_get_contents('http://maps.google.com/maps/api/geocode/json?address='. urlencode($location) .'&sensor=false$region='. urlencode($region)); 

    $output= json_decode($geocode); 

    return $output->results[0]->geometry->location; 
} 

工作,这是我一直使用的是什么,而一个本地服务器上开发,我现在所做的网站通过我的虚拟主机提供商住,这不再返回的位置。谷歌地图API不直播现场

不知道可能会出现什么问题?

+0

是'file_get_contents'返回什么? –

+0

也key = API_KEY丢失,但你可能会删除它演示 –

+0

@Dagon我没有任何键设置,我唯一需要的东西是谷歌+访问令牌。上述代码在将文件上传到虚拟主机之前工作良好。 – Danny123

回答

0
function getlatlang($location,$region) 
{ 
    //$geocode = file_get_contents('http://maps.google.com/maps/api/geocode/json?address='. urlencode($location) .'&sensor=false&region='. urlencode($region)); 

    $url = 'http://maps.google.com/maps/api/geocode/json?address='. urlencode($location) .'&sensor=false&region='. urlencode($region); 
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
    $geocode = curl_exec($ch); 
    if (curl_errno($ch)) { 
     echo curl_error($ch); 
     echo "\n<br />"; 
     $contents = ''; 
    } else { 
     curl_close($ch); 
    } 

    $output= json_decode($geocode); 

    return $output->results[0]->geometry->location; 
} 

我的虚拟主机不允许fopen切换到curl()。