2015-11-30 55 views
0

我正在使用Google Maps API进行一些测试,出于某种原因,有没有明显原因返回状态INVALID_REQUEST的有效地址。这里是我的PHP代码从Google Maps API获取有效地址的INVALID_REQUEST

$request_url = "https://maps.googleapis.com/maps/api/geocode/xml?address=".urlencode($address); 
    $xml = simplexml_load_file($request_url) or die("url not loading"); 
    $status = $xml->status; 
    return $status; 

$地址例如:

$address = "R. Espírito Santo, Viana, ES, Brasil" // status INVALID_REQUEST 

但如果我尝试访问该网址,直接将其返回状态OK

https://maps.googleapis.com/maps/api/geocode/xml?address=R.%20Espírito%20Santo,%20Viana,%20ES,%20Brasil

为它返回的一些地址好的,但对于其他INVALID_REQUEST使用完全相同的代码只更改地址。直接访问URL总是返回OK。

任何线索?

谢谢

回答

-1

使用urlencode()info

$address  = "R. Espírito Santo, Viana, ES, Brasil" // this can't be passed as query string 
$request_url = "https://maps.googleapis.com/maps/api/geocode/xml?address=".urlencode($address); // urlencode() solves this 
$xml   = simplexml_load_file($request_url) or die("url not loading"); 
$status  = $xml->status; 
return $status; 
+0

我试过了,结果相同。谢谢 –

0

这是一个字符编码的问题。 utf8_encode()(info)解决了它。

$address = utf8_encode($address); 
相关问题