在谷歌地图API中找不到位置



根据USPS,我有一个有效的地址…

纽约州卡特琳湖阿尔斯特大街1606号,邮编12449

在我的浏览器中搜索Google Maps以获得正确的结果。然而,Google Maps API生成ZERO_RESULTS:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

这种情况发生在我的大约1%的位置。为什么API返回单独的结果?如何使它产生与浏览器UI相同的结果?

也许如果你在提交给Google地理编码之前验证/标准化地址,你会得到更好的结果。快速谷歌搜索"地址验证"会给你一些很好的工具来做这件事。

@geocodezip是正确的,当您删除邮政编码时,您将获得更可预测的响应。这可能是因为邮政编码是城市/州组合的数字表示,在许多表中通常被视为积极的标识符。但是,由于美国邮政服务可以随时更改邮政编码,因此通过始终删除邮政编码(如果遇到问题)可能会获得更一致的响应。总是删除邮政编码的问题是,您现在已经删除了20%的地址信息,并且很多时候邮政编码可以胜过糟糕的城市/州组合,并且仍然得到有效的结果。

考虑以下无效地址:

275 north main Hollywsdfsdfsdfsdfood CA 84627

如果您丢弃邮政编码,您将一无所获,因为275 north main在"hollywsdfsdfsdfsdfsdfood CA"中不是有效地址

然而,如果你保留邮政编码并使用它来代替不太可能的"Hollywsdfsdfsdfsdfood ca&;"作为城市/州的标识符,您最终会得到一个完全有效的地址:Ephraim, Utah 84627。

以下是SmartyStreets的一个例子,因为谷歌地图无法处理虚假的城市名称。验证过的地址是:
275 N Main St Ephraim UT 84627-1107

所以,回到地址验证之前的地理编码的想法,然后你可以把那个地址到谷歌地图,很容易得到你的地理编码。甚至可以保留当前的流程,然后为失败的1%添加一个单独的例程。

[我每天都在处理这种事情,我在SmartyStreets工作]

这是一个位置API的结果,而不是来自地理编码器。

看起来邮政编码混淆了地理编码器,如果我删除邮政编码,它返回一个结果:

http://www.geocodezip.com/v3_example_geo2.asp?addr1=1606%20ULSTER%20AVE % 20 % 20卡特琳湖% 20 ny&项目点= 1

最新更新