2017-06-14 355 views
1

我們的應用程序的郵政地址輸入UI是這樣一個兩行Address1/Address2字段(從Amazon.com借用截圖)。地理編碼多行街道地址(地址1 /地址2)

enter image description here

但真正的用戶的數據條目始終凌亂。有些用戶會忽略我們的指示,有時會將街道地址放在地址1中,有時放在地址2中。其他用戶將從外部來源(如現有的郵件列表)導入地址列表,這也可能會導致地址1或地址2中的街道地址不可預知的情況。

當需要對地址進行地理編碼時,如果我們不確定街道地址是否位於地址1或地址2中,最大化成功地理編碼的可能性的算法是什麼?一個天真的方法可能是嘗試Address1,如果失敗,則嘗試Address2。但我相信我不是第一個嘗試對真實世界混亂的數據輸入進行地理編碼的人......這個問題通常如何解決?

我們正在使用Google Maps Geocoding API,如果它很重要。

回答

0

我相信Google建議使用自動填充小部件。

看一看最佳實踐文檔:

https://developers.google.com/maps/documentation/geocoding/best-practices

它說

反應,實時對用戶輸入(包括不明確,不完整,格式不正確,或由用戶輸入的拼寫錯誤的地址)

使用Places API將自動填充服務置於某個位置ID,然後使用Geocoding API將地點ID地理編碼爲latlng。

公寓,套房,單位等通常不在Google數據庫中。因此,您可以將自動填充綁定到用戶選擇地址的第一個輸入,並且您可以獲得相應的地點ID,用戶可以在與Google地理編碼API無關的第二個字段中輸入其他信息。

在官方文檔中有幾個地方自動完成的例子。

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

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

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

我希望這有助於!