我想从纬度和经度获取地址,但我想使用curl。没有卷曲在localhost工作正常。但是当我在服务器中运行它时。
显示错误此错误: -
file_get_contents()[function.file-get-contents]:https://在服务器配置中通过allow_url_fopen = 0 禁用包装器。
所以决定,现在我必须使用curl获取地址。
任何人都可以帮助我如何实现这一功能在这里我尝试过: -
$latitude= 30.9003971459;
$longitude= 77.0072737194;
$url = 'https://maps.google.com/maps/api/geocode/json?latlng='.trim($latitude).','.trim($longitude).'&key=XXXXX';
$curl = curl_init();
答案 0 :(得分:1)
似乎tu work work me ...执行url(CURL_EXEC)后,您需要解码JSON返回值。我刚刚在此示例中选择了格式化地址
<?php
$url="https://maps.google.com/maps/api/geocode/json?latlng=51.451411,3.566113&key=AIzaSyAgo83mZXhQCFzF2Y3pQYJUC1ivAXKwiX4";
$curl_return=curl_get($url);
$obj=json_decode($curl_return);
echo $obj->results[0]->formatted_address;
function curl_get($url, array $options = array())
{
$defaults = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_TIMEOUT => 4
);
$ch = curl_init();
curl_setopt_array($ch, ($options + $defaults));
if( ! $result = curl_exec($ch))
{
trigger_error(curl_error($ch));
}
curl_close($ch);
return $result;
}
?>