2010-11-11 86 views
4

會有一種方法可以根據表單中的城市/州輸入進行郵政編碼查詢嗎?我在想Google的geocode API可能是正確的方向。有什麼想法嗎?我有一個基於WordPress的網站,所以代碼將不得不使用PHP。提前致謝。使用Google API生成基於城市和州的郵政編碼

+0

*哪個*郵政編碼?美國幾乎每個城市都有多個郵政編碼。 – 2010-11-11 20:41:20

回答

1

YQL可以做到NGS這樣的:

select name from geo.places.children where parent_woeid in (select woeid from geo.places where text="sunnyvale, usa" limit 1) AND placetype = 11 

回報:

{ 
"query": { 
    "count": 6, 
    "created": "2011-03-16T06:49:09Z", 
    "lang": "en-US", 
    "results": { 
    "place": [ 
    { 
    "name": "94086" 
    }, 
    { 
    "name": "94087" 
    }, 
    { 
    "name": "94088" 
    }, 
    { 
    "name": "94089" 
    }, 
    { 
    "name": "94090" 
    }, 
    { 
    "name": "94085" 
    } 
    ] 
    } 
} 
} 

YQL Console

有就如何落實在他們的網站上都PHPJavascript這樣的疑問在那裏的例子。

1

地理編碼是您查找地址座標的地方。是的,你可以對一個城市進行地理編碼,但是這會讓你成爲城市的中心(由地理編碼器的內部數據庫定義 - 通常是質心或市政廳)。 ?所有這些 同樣郵政編碼可能包含多個城市 - 尤其是在農村地區,郵政編碼可能很大,城市是哪些其他國家稱之爲「村」和「村莊」

所以,你最好的選擇可能是得到一個數據庫,可能會有一些免費的(Geonames想起來,但我不認爲它有郵政編碼),但你可能最終不得不買一個。

0

首先關於Google API的注意事項:注意Google's TOS,這樣您就不會像其他人一樣(有時在不知不覺中)浪費掉路徑。具體來說:「注意:地理編碼API只能與Google地圖一起使用,禁止在地圖上顯示地理編碼結果。」

如果您的項目不是關鍵任務,最好的辦法是獲得free zip code database;否則,你可能需要一個好的商業級數據庫。只是谷歌「商業級郵編數據庫」。

此外,請參閱關於此主題的好的stack-overflow thread

相關問題