2013-08-21 74 views
0

我們正在嘗試使用CRM系統中的Google API填充/驗證案例中的地址。如何避免在兩個城市共享郵遞區號時獲得不同城市的回報價值

在不同城市的拉鍊郵局的情況下,地址被錯誤地返回。對於例如郵編53227由2個城市(西部Allis和密爾沃基)共享,但該郵編的郵局位於密爾沃基。

例如, - > 8511 West Arthur Avenue,West Allis,WI是一個有效的地址。然而,當我搜索這個地址時,返回的值給我密爾沃基(郵局所在的那個郵編)。

感謝您是否可以幫助您停止從GOOGLE API獲取其他城市。

在此先感謝。

問候。

+1

FYI:谷歌的API不驗證地址;他們將它們標準化並將它們固定在地圖上,如果它們確實存在的話。 – Matt

回答

0

我猜我會將我的評論擴展爲(部分)答案。我不知道如何使用Google的API來返回您想要的城市名稱。但也許這仍然有幫助。 (我在SmartyStreets工作,其中美國地址是我們的專長。)

首先,我們來看看郵政編碼:53227. According to a SmartyStreets lookup,它的確是有效的,它的郵局(首選)城市名稱是密爾沃基。 West Allis是一個分區的郊區,所以你在那裏是正確的。

現在到實際的地址。正如我在評論中提到的,Google不會驗證地址,而是將它們標準化,並將它們放在它們存在的地圖上,如果它們是真實的。這有許多有用的應用程序,但如果您正在尋找驗證,您需要一個真正的地址驗證服務。 Looking that address up with the homepage demo與LiveAddress產生這樣的結果:

Address in West Allis

LiveAddress符合嚴格的CASS ™規格,因此,返回西阿里斯像你所期望的:不密爾沃基。 (這是不是與所有地址的情況下 - 有它技術上的原因,但這個地址,碰巧工作得很好。)

0

讓我們來看看爲什麼第一。郵政編碼53227爲什麼會有兩個城市?

請記住,郵政編碼代表的是交付區域,而不是地理政治區域。郵政編碼隨着美國郵政服務的改變而改變。實際上,USPS 擁有郵政編碼(只要您實際擁有一個編號)。所以,每個郵政編碼你都會得到一個服務郵局(SPO)和多個城市。您也可以爲同一城市設置多個可接受的名稱。

輸入:53227

輸出:密爾沃基,格林菲爾德,新柏林,和西艾利斯

密爾沃基是優選名稱(或SPO)爲郵政編碼。 Greenfield,New Berlin和West Allis都是其邊界與53227郵政編碼重疊的城市。

下面是一張地圖,顯示了覆蓋的背景和ZIP邊界(近似值,因爲USPS並未真正釋放郵政編碼邊界地圖)中的城市邊界。地圖來自maptechnica.com

enter image description here

你可以看到,郵政編碼是主要在西艾利斯,在密爾沃基一點點,在綠地的北端就更少了,然後正好與新的柏林邊界的最小位。因此,所有四個城市都部分覆蓋了53227郵政編碼。

地址:8511 West Arthur Avenue,West Allis,WI當然位於West Allis的邊界內,但它也屬於SPO在Milwuakee的53227郵政編碼。因此,確定正確城市的唯一方法是獲得完整的地址,而不僅僅是郵政編碼。

正如馬特指出的,谷歌地圖不會這樣做。這不是他們的業務。就像當地加油站的無家可歸的人一樣,他可以隨時告訴你如何到達該地區的任何地方,但他不能告訴你街道的名稱,googlemaps非常適合向你顯示地圖上的什麼位置,但他們不一定知道關於該特定位置的所有信息。

[順便說一下,我與馬特在SmartyStreets工作 - 比我儘管他聰明]