【问题标题】:UK Postcode Google API Not Returning Street Address英国邮政编码 Google API 不返回街道地址
【发布时间】:2016-07-20 22:39:05
【问题描述】:

我们正在使用 Google Geocoding API 来验证我们的交通预订表单上的英国邮政编码,但它并不总是返回街道地址,例如 EC2Y 8DR 伦敦邮政编码将返回长/纬度,但不会填充嘘声表单字段.我们放弃了付费服务,现在我们的客户在输入预订时遇到了严重问题。

你可以在这里看到https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

有解决办法吗?

提前致谢 西蒙

【问题讨论】:

  • 可能是您遇到问题的邮政编码覆盖多个街道/位置?示例邮政编码 EC2Y 8DR 涵盖伦敦市警察局以及莎士比亚塔。
  • 您的代码是否假设会有街道名称?那个邮政编码是伦敦巴比肯的邮政编码,它的皇家邮政地址中没有街道名称。例如,Flat 11 Shakespeare Tower Barbican LONDON EC2Y 8DR
  • 您是否想通过提交邮政编码来找回街道?或者您是否尝试提交带有邮政编码的完整地址并验证邮政编码是否与该地址匹配?

标签: javascript google-maps validation google-geocoding-api street-address


【解决方案1】:

让我们看一下“EC2Y 8DR”的自动完成请求

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=EC2Y%208DR&key=YOUR_API_KEY

如果您执行此请求,您将看到建议“London EC2Y 8DR, United Kingdom”的类型为“postal_code”(地点 ID ChIJgYd44lUbdkgRUMGemVRu-1Q)。因此,当您请求此地点 ID 的详细信息时,您将获得有关邮政编码本身的信息,其中不包含任何街道名称。

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJgYd44lUbdkgRUMGemVRu-1Q&key=YOUR_API_KEY

您可以在地图制作工具中查看邮政编码: http://www.google.com/mapmaker?gw=90&iwloc=0_0&dtab=history&cid=6123609427973947728

解决方法如下:

当您请求地点详细信息时,请分析类型。如果类型为“postal_code”,则提取邮政编码的纬度、经度并执行反向地理编码以获得最近的街道地址。

在您的示例中,邮政编码的坐标为 51.5202776,-0.09492260000000001。反向地理编码将返回地址“331 Shakespeare Tower, London EC2Y 8DR, UK”。

请在 Geocoder 工具中查看结果:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D51.520278%252C-0.094923

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    相关资源
    最近更新 更多