我们正在使用Google地理编码API在我们的运输预订表单上验证英国邮政编码,但它并不总是返回街道地址,例如EC2Y 8DR伦敦邮政编码将返回长/纬线,但不会填充起始表单字段。我们离开了付费服务,现在我们的客户在预订时遇到了严重的问题。
您可以在https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
看到此信息有解决方法吗?
提前致谢 西蒙
答案 0 :(得分:3)
让我们来看看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的详细信息时,您将获得有关邮政编码本身且不包含任何街道名称的信息。
您可以在地图制作工具中看到邮政编码: 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