2012-02-15 28 views
2

Google反向地理編碼lat/long時有時會返回不正確的美國狀態。據推測,這是因爲Google試圖返回最近的街道地址,在某些情況下,Google地址與您嘗試反向地理編碼的經緯度不同。如何通過反向地理編碼獲得可靠的美國州政府答覆?

雖然它可能不是在實踐中常見的場景,這是很容易被玩弄的地圖重現:http://gmaps-samples.googlecode.com/svn/trunk/geocoder/reverse.html

對於我的申請,我不太關心獲得的最近地址而更關注總獲得正確的美國狀態。有什麼方法可以通過Google的API實現這一點?

謝謝

回答

0

遍歷所有結果,並挑選在results[i].types

這比從第一結果走的是「當量」的地址組成部分,即results[0].address_components[j].types

發現 "administrative_area_level_1"更好的一個與 "administrative_area_level_1"

當反向地理編碼將你的緯度對齊到恰好處於不同狀態(或國家)的最近地址時,第一個結果的狀態/國家地址分量將是該地址的狀態/國家地址分量,但是隨後的結果將是輸入latlng所在的州/國家/地區。

例如:42.834185,-0.302811位於西班牙,但記錄在法國的一個地址。

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D42.834185%252C-0.302811

results[0].address_components[3].types = ["administrative_area_level_1", "political"] 
results[0].address_components[3].short_name = "FR" 
results[6].types = ["administrative_area_level_1", "political"] 
results[6].short_name = "ES" 
相關問題