2017-03-08 63 views
1

試圖瞭解爲什麼使用Google Maps API對位置「Albany,OR,United States」進行地理編碼會將您帶到紐約州的奧爾巴尼。如果您將「或」更改爲「或」或「或」,則它將正確地對奧爾巴尼進行地理編碼,或者。此外,如果您刪除逗號,它也會正確地進行地址解析。看看你自己:https://developers.google.com/maps/documentation/geocoding/introGoogle Maps地理編碼對「Albany,OR,美國」錯誤

任何想法?

+0

如果您刪除「美國」,[它也可以](http://www.geocodezip.com/v3_example_geo2.asp?addr1=Albany,%20OR&geocode=1)。 – geocodezip

+0

@geocodezip是一個傳奇,你有推特嗎? – noogui

+0

@geocodezip正確!上面用「美國」格式化的主要原因是因爲它是通過使用Google Places API自動完成返回的。因此,使用自動完成會導致返回錯誤的位置。 – roubix

回答

0

正如我從前面的評論中瞭解到的,您正在使用地方自動完成功能。

您可以從自動填充而不是文本中獲取地點ID,並在地理編碼請求中使用地點ID。根據best practices文件,這種方法效果更好,並且這是一種推薦的方式。

Google也有一個Maps JavaScript API的例子,他們使用從自動完成獲取的地點ID來獲取地理編碼功能。

請看看,並嘗試用這個例子「奧爾巴尼,OR,美國:

https://developers.google.com/maps/documentation/javascript/examples/places-placeid-geocoder

希望它能幫助!

+0

謝謝!這使得更有意義。 – roubix

相關問題