我们使用Google Maps API,并且当用户输入5位数的邮政编码时,在大多数情况下结果都是正确的;会将输入视为邮政编码,并根据该位置返回结果。
引起我们注意的问题是,查询某些邮政编码(42025是我们的主要示例)不会返回预期结果(Benton,KY)。 API调用实际上返回“ status”:“ ZERO_RESULTS”。在maps.google.com上进行类似的搜索有时会产生肯定的结果,但前提是肯塔基州本顿市已经消耗了大部分视口。一种解决方法是在查询字符串中添加术语“ zip”。
我的调查显示,失败的结果似乎是使用5位数字的字符串,好像街道地址一样,什么都找不到。例如,对“ 42020”的查询最终显示的是华盛顿特区附近的某个地址。
有人遇到这个问题吗?有关如何解决此问题的任何建议?
答案 0 :(得分:2)
我建议您在Geocoder请求中使用component filtering以获得邮政编码。
您的请求将被重写为
https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A42025%7Ccountry%3AUS&key=YOUR_API_KEY
https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A42020%7Ccountry%3AUS&key=YOUR_API_KEY
两个请求都将预期结果返回给我。您还可以在Geocoder工具中看到它:
我希望这会有所帮助!