我正在使用Google地理编码API https://developers.google.com/maps/documentation/geocoding/intro。对于邮政编码96101,它将返回“未找到结果”。
尽管https://www.google.com/maps?q=96101+zip+code&um=1&ie=UTF-8&sa=X&ved=0ahUKEwid57W5k-在这里是可用的
有什么主意吗?
答案 0 :(得分:1)
5位数的邮政编码,有时甚至用国家/地区名称也是如此,因为在世界范围内,它们令人惊讶地模棱两可。有关更多详细信息,请参见https://issuetracker.google.com/73030863。
有一种解决方法,可以使用带有特定参数的Places API自动完成功能。
答案 1 :(得分:0)
您是否尝试过使用components filtering搜索邮政编码?当我执行以下请求时,我在响应中得到了邮政编码
https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A96101%7Ccountry%3AUS&key=YOUR_API_KEY
还要检查API密钥是否正确,并且在项目中启用了计费功能。在2018年7月迁移到Google Maps Platform后,它们是强制性的。
您还可以在Geocoder工具中看到以下结果:
我希望这会有所帮助!
在公共问题跟踪器中有很多类似的问题。例如,此问题:
https://issuetracker.google.com/issues/77308684
Google的回答如下:
提交仅指定邮政编码或字符串“ 11937 + US”的请求是不完整且模棱两可的地址,可能会导致意外结果。 根据文档[1]:在新的地址解析器中,模棱两可的“不完整且格式错误的查询”(例如拼写错误或不存在的地址)容易产生ZERO_RESULTS。
如果您打算在美国搜索邮政编码,请使用组成部分过滤器-使用地区偏好或国家/地区限制[2]:
也请查看地址解析最佳做法和常见问题解答: https://developers.google.com/maps/documentation/geocoding/best-practices https://developers.google.com/maps/faq#geocoder_queryformat
[1] https://developers.google.com/maps/documentation/geocoding/faq#trbl_zero_results
[2] https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering