2015-12-17 270 views
0

當我嘗試通過URL調用Google Maps Geocode API時,它工作正常並返回正確的JSON。Google Map Geocode API返回null

例如,這是網址:

https://maps.googleapis.com/maps/api/geocode/json?address=2140+Amphitheatre+Parkway,+Mountain+View,+IN&key=AIzaSyCUDSJ2GBE1DHupbAZT4u8gZqclkIhmb0M

當我試圖用我的PHP代碼相同,則返回null。

下面是我的代碼:

<?php 
  
function lookup($string){ 
  
   $string = str_replace (" ", "+", urlencode($string)); 
   $details_url = "http://maps.googleapis.com/maps/api/geocode/json?address=".$string."&sensor=false"; 
  
   $ch = curl_init(); 
   curl_setopt($ch, CURLOPT_URL, $details_url); 
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
   $response = json_decode(curl_exec($ch), true); 
  
   // If Status Code is ZERO_RESULTS, OVER_QUERY_LIMIT, REQUEST_DENIED or INVALID_REQUEST 
   if ($response['status'] != 'OK') { 
    return null; 
   } 
  
   print_r($response); 
   $geometry = $response['results'][0]['geometry']; 
  
    $longitude = $geometry['location']['lat']; 
    $latitude = $geometry['location']['lng']; 
  
    $array = array(
        'latitude' => $geometry['location']['lng'], 
        'longitude' => $geometry['location']['lat'], 
        'location_type' => $geometry['location_type'], 
    ); 
  
    return $array; 
  
} 
  
$city = 'San Francisco, USA'; 
  
$array = lookup($city); 
var_dump($array); 
  
?> 
</pre> 

我嘗試添加和刪除API密鑰,但它仍然返回null。

欣賞任何支持。

+0

你是否包含了你需要的一切? +打開錯誤報告?也許你在滾動一個錯誤或什麼的? – Naruto

+0

它的工作正常,我檢查了我的本地主機和工作。 我正在此 陣列(3){ [ 「緯度」] => 浮子(-122.4194155) [ 「經度」] => 浮子(37.7749295) [ 「LOCATION_TYPE」] => 串(11)「APPROXIMATE」 – Vivek

+0

我很困惑,爲什麼它不返回任何東西 – dev1234

回答

0

看起來代碼是好的,它運行良好,你只需要檢查curl是否啓用。我認爲這是你無法使用php獲取數據的原因。

相關問題