这是我用来查找地点纬度和经度的代码:
function coords($address){
echo $url="http://maps.googleapis.com/maps/api/geocode/json?address=".$address;
$json = file_get_contents(urlencode($url));
$data = json_decode($json, TRUE);
print_r($data['results'][0]['geometry']['location']['lat']);
print_r($data['results'][0]['geometry']['location']['lng']);
}
但是它总是会返回此警告:
无法打开流:HTTP请求失败! HTTP / 1.0 400错误请求
如果我在一个简单的程序中使用上面的代码,它可以正常工作但不在函数中。
注意:我尝试过产生相同结果的curl_init()...
方法?
答案 0 :(得分:14)
不是编码整个URL,而只是编码地址部分。以下代码可以正常工作
$add='jamshoro phase 2';
$url="http://maps.googleapis.com/maps/api/geocode/json?address=".urlencode($add);
$json = file_get_contents($url);
$data = json_decode($json, TRUE);
print_r($data['results'][0]['geometry']['location']['lat']);
print_r($data['results'][0]['geometry']['location']['lng']);