0

we are trying to use Google API from CRM system to populate / validate addresses on the cases.

In situations where a zip's post office in different city, the address is returned incorrectly. For e.g. zip 53227 is shared by 2 cities (West Allis and Milwaukee) but post office for that zip is in Milwaukee .

For e.g. --> 8511 West Arthur Avenue, West Allis, WI is a valid address. However, when I search for this address, the returning value gives me Milwaukee (where the post office is located for that zip).

Appreciate if you can help on how to stop getting other city from GOOGLE API.

Thanks in advance.

Regards.

4

2 回答 2

0

我们先来看看为什么。为什么邮政编码 53227 会有两个城市?

请记住,邮政编码代表交付区域,而不是地缘政治区域。邮政编码随美国邮政服务而变化。事实上,USPS拥有邮政编码(就您实际拥有的号码而言)。因此,使用每个邮政编码,您都会获得一个服务邮局 (SPO) 和多个城市。您还可以为同一个城市设置多个可接受的名称。

输入:53227

输出:密尔沃基、格林菲尔德、新柏林和西艾利斯

Milwaukee 是该邮政编码的首选名称(或 SPO)。格林菲尔德、新柏林和西艾利斯都是其边界与 53227 邮政编码重叠的城市。

这是一张地图,显示了背景中的城市边界和重叠的邮政编码边界(近似值,因为 USPS 并没有真正发布邮政编码边界地图)。该地图来自maptechnica.com

在此处输入图像描述

你可以看到邮政编码主要在西艾利斯,在密尔沃基有一点点,在格林菲尔德的北端更少,然后就在与新柏林接壤的最小的地方。因此,所有四个城市都被 53227 邮政编码部分覆盖。

地址:8511 West Arthur Avenue, West Allis, WI 当然位于 West Allis 的边界内,但它也属于 SPO 位于密尔沃基的 53227 邮政编码。因此,确定正确城市的唯一方法是拥有完整的地址,而不仅仅是邮政编码。

正如马特指出的那样,googlemaps 并没有这样做。那不关他们的事。就像当地加油站的无家可归者可以很容易地告诉您如何到达该地区的任何地方但他不能告诉您街道的名称一样,googlemaps 非常适合向您显示地图上的位置但是他们不一定知道有关该特定位置的所有信息。

[顺便说一句,我在 SmartyStreets 和马特一起工作——尽管他比我聪明]

于 2013-08-22T21:15:33.840 回答
0

我想我会将我的评论扩展为(部分)答案。我不知道如何使用谷歌的 API 来返回你想要的城市名称。但也许这仍然会有所帮助。(我在 SmartyStreets 工作,美国地址是我们的专长。)

首先,让我们看一下邮政编码:53227。根据 SmartyStreets 查询,它确实有效,其邮局(首选)城市名称是密尔沃基。West Allis 是一个共享该区域的郊区,所以你是对的。

现在转到实际地址。正如我在评论中提到的,谷歌不验证地址,而是将它们标准化,并将它们放在地图上,如果它们是真实的,它们就会存在。这有许多有用的应用程序,但如果您正在寻找验证,您需要一个真正的地址验证服务。通过 LiveAddress的主页演示查看该地址会产生以下结果:

地址在西艾利斯

LiveAddress 符合严格的 CASS™ 规范,因此,像您期望的那样返回 West Allis:而不是 Milwaukee。(并非所有地址都是这种情况 - 并且有技术原因。但对于这个地址,它恰好可以正常工作。)

于 2013-08-22T01:56:03.833 回答