2017-06-14 143 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

我希望这有助于!