【问题标题】:Geocoding multi-line street addresses (Address1 / Address2)地理编码多线街道地址 (Address1 / Address2)
【发布时间】:2017-06-14 22:35:37
【问题描述】:

我们的应用程序的邮政地址输入 UI 是这样的两行 Address1/Address2 字段(借用 Amazon.com 的屏幕截图)。

但真实用户的数据输入总是一团糟。有些用户会忽略我们的指示,有时会将街道地址放在 Address1 中,有时将其放在 Address2 中。其他用户将从外部来源(如现有邮件列表)导入地址列表,这也可能导致街道地址在 Address1 或 Address2 中不可预测的某些情况。

当需要对地址进行地理编码时,如果我们不确定街道地址是在 Address1 中还是 Address2 中,那么有什么好的算法可以最大限度地提高地理编码成功的机会?一种天真的方法可能是尝试 Address1,如果失败则尝试 Address2。但我敢肯定,我不是第一个尝试对现实世界混乱数据输入进行地理编码的人……这个问题通常是如何解决的?

如果重要的话,我们使用Google Maps Geocoding API

【问题讨论】:

    标签: geocoding google-geocoding-api street-address


    【解决方案1】:

    我相信 Google 建议使用自动完成小部件。

    查看最佳实践文档:

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

    它说

    实时响应用户输入(包括用户输入的不明确、不完整、格式错误或拼写错误的地址)

    使用 Places API Place Autocomplete 服务获取地点 ID,然后使用 Geocoding API 将地点 ID 地理编码为 latlng。

    公寓、套房、单元等通常不存在于 Google 数据库中。因此,您可以将自动完成绑定到用户选择地址的第一个输入,您可以获得相应的地点 ID,用户可以在与 Google Geocoding 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

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多