2014-02-13 89 views
4

我想從一個地址獲取緯度/經度的位置列表。它適用於大多數地址,但某些地址失敗並返回零結果。谷歌地圖地理編碼問題:某些編碼的URL失敗

拿這個地址爲例:1045 Mono Way, Sonora, CA 95370

正如你所看到的,是谷歌地圖的有效地址 - 沒有任何問題存在。

在Ping Geocoder Api時,我使用urlencode()對地址進行編碼。這是編碼地址:1045%20Mono%20Way%2C%20Sonora%2C%20CA%2095370

這是我訪問的鏈接: https://maps.googleapis.com/maps/api/geocode/xml?address=1045%20Mono%20Way%2C%20Sonora%2C%20CA%2095370&sensor=false

正如你所看到的,結果爲零。

現在,如果您將地址的第一部分(1045)更改爲任何其他數字(例如1044),您將獲得有效的結果。

我迷路了。

需要幫助。

請;)

順便說一句,我使用的這個答覆讓從API緯度/經度:Google Maps - converting address to latitude & longitude - PHP backend?

+0

這是另一個不起作用的地址:2836 Pacific Avenue,Forest Grove,OR 97116 – yulolimum

回答

2

我敢打賭,地址根本就不存在。這些地址由當地政府提供,通常在一段相當於一段街道的數字範圍內。嘗試奇數不起作用的事實(1045,1047,1049),但偶數(1044,1046,1048)表明道路一側的地址不存在。或者至少不在市或縣提供的數據集中。

理想的解決方案是API調用的「模糊」參數,它將返回類似於他們的地圖網站的位置。但是由於我們無法重寫第三方API,因此建議您檢查「ZERO_RESULTS」響應,然後根據需要重新提交僅帶街道名稱的請求。

此外,您可以在不使用API​​密鑰的情況下進行地理編碼搜索,因此您可能希望保持您的問題不存在!