Google 地图地理编码 API returns 空
Google Map Geocode API returns null
当我尝试通过 URL 调用 Google 地图地理编码 API 时,它工作正常并且 returns 正确 JSON.
例如,这是 URL:
当我尝试使用我的 PHP 代码时,它 returns 为空。
下面是我的代码:
<?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。
感谢任何支持。
看起来代码没问题,而且运行良好,您只需要检查是否启用了 curl。我认为这就是您无法使用 php 获取数据的原因。
当我尝试通过 URL 调用 Google 地图地理编码 API 时,它工作正常并且 returns 正确 JSON.
例如,这是 URL:
当我尝试使用我的 PHP 代码时,它 returns 为空。
下面是我的代码:
<?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。
感谢任何支持。
看起来代码没问题,而且运行良好,您只需要检查是否启用了 curl。我认为这就是您无法使用 php 获取数据的原因。