2015-11-30 56 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); 
相關問題