我的地址是有效地址according to the USPS ...
在我的浏览器中对此地址1606 ULSTER AVE,LAKE KATRINE,NY 12449
Searching Google Maps会产生正确的结果。但是,Google Maps API yields ZERO_RESULTS
:
{
"results" : [],
"status" : "ZERO_RESULTS"
}
大约1%的位置发生这种情况。为什么API返回单独的结果?如何让它产生与浏览器UI相同的结果?
答案 0 :(得分:1)
This是Places API结果,而非地理编码器。
看起来邮政编码混淆了地理编码器,如果我删除邮政编码,则会返回结果:
答案 1 :(得分:1)
也许如果您在提交谷歌地理编码之前验证/标准化地址,您将获得更好的结果。快速谷歌搜索“地址验证”将为您提供一些很好的工具来做到这一点。
@geocodezip是正确的,当您删除邮政编码时,您会得到更可预测的响应。这可能是因为邮政编码是城市/州组合的数字表示,通常被视为许多表中的肯定标识符。但是,由于美国邮政服务可以随时更改邮政编码,因此可以通过始终删除邮政编码获得更一致的响应(如果遇到问题)。始终删除邮政编码的问题在于您现在已经删除了20%的地址信息,而且很多时候邮政编码都可以胜过错误的城市/州组合,并且仍能获得有效的结果。
考虑以下无效的无效地址:此失败:
275 north main Hollywsdfsdfsdfsdfood CA 84627
如果你丢弃邮政编码,你什么也得不到,因为275 north main不是“Hollywsdfsdfsdfsdfood CA”中的有效地址
但是,如果您保留邮政编码并使用该邮政编码而不是不太可能的“Hollywsdfsdfsdfsdfood CA”作为城市/州指定人,那么您最终将获得犹他州Ephraim 84627中完全有效的地址。
以下是SmartyStreets的示例,因为googlemaps无法使用虚假的城市名称来处理它。验证地址是:
275 N Main St Ephraim UT 84627-1107
因此,回到地址验证的想法,然后在地理编码之前,您可以将该地址放入googlemaps并轻松获取地理编码。甚至可以保留当前的流程,然后只为失败的1%添加一个单独的例程。
[我每天都在处理这类事情,我在SmartyStreets工作]