首页 > 解决方案 > Google 地理编码 API 为邮政编码返回 ZERO_RESULTS

问题描述

我正在尝试使用 Google 地图 API 对用户输入的数据进行地理编码,但澳大利亚邮政编码“2010”出现错误

maps.google.com/maps/api/geocode/json?components=country:AU|postal_code:2010

但是,如果我在谷歌地图中搜索,我会得到一个结果。我的请求做错了吗?

标签: google-mapsgoogle-geocoding-api

解决方案


您的请求完全没问题,但很遗憾,Google 在搜索 4 位邮政编码时遇到了问题。此错误已在 Google 问题跟踪器中报告,您可以在此处查看:

4 位邮政编码难以进行地理编码(AT、AU、BE、DK、NZ、SI)

我建议为该错误加注星标以添加您的投票并订阅来自 Google 的进一步通知。

您还可以看到 Google 建议的解决方法是使用带有类型(region)和国家/地区组件过滤器的地点自动完成请求。

因此,在您的情况下,您可以运行以下查询

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=2010&types=(regions)&components=country%3AAU&key=YOUR_API_KEY

它将返回邮政编码 2010 的地点 ID:ChIJ3QyubXuuEmsREIe6P2t9ARw

您可以使用带有地点 ID 的地理编码来获取所需的信息

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJ3QyubXuuEmsREIe6P2t9ARw&key=YOUR_API_KEY

我希望这有帮助!


推荐阅读