javascript - 英国邮政编码 Google API 未返回街道地址

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

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

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

有解决办法吗?

提前致谢 西蒙

最佳答案

让我们看一下“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

您可以在 map 制作工具中查看邮政编码: 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”。

请查看地理编码器工具中的结果:

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

关于javascript - 英国邮政编码 Google API 未返回街道地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36350968/

相关文章:

javascript - 带有 codeigniter 的 ui-router 在刷新页面或使用 html5mode(true) 粘贴 URL 时给出 404

javascript - jQuery UI slider 自定义步骤增量和加载时的逗号

javascript - 如何从谷歌地图地理编码返回地址类型?

java - 使用 GroupSequence 验证嵌套 bean 并一次应用每个组

jquery - Ajax 在 MVC AsP.net 中发布表单(验证)?

javascript - 尝试发布大型 JSON 数据时出现错误请求错误

javascript - 通过 php 加载更改 total.txt 文件

javascript - 使用 Google map v3 在特定地址上放置图钉

javascript - 将 Google map 标记超链接到坐标

jquery - 如何阻止 jQuery validate 自动验证?