所以我使用GeoNames的API讓我使用的填充表單中選擇下拉列表哪一個國家和國家/省信息。該表單將其信息提交給SOAP Web服務,並且SOAP服務器僅以2個字母的格式瞭解國家和州/省的數據。即。 CA爲加拿大,US爲美國。 GeoNames API爲不同國家提供這些信息,但不提供給他們的子女(州/省)。得到2個字母州/省縮寫
有誰知道如何從GeoNames的得到一個州/省/地區的2個字母縮寫或有另一種API,我可以試試嗎?
所以我使用GeoNames的API讓我使用的填充表單中選擇下拉列表哪一個國家和國家/省信息。該表單將其信息提交給SOAP Web服務,並且SOAP服務器僅以2個字母的格式瞭解國家和州/省的數據。即。 CA爲加拿大,US爲美國。 GeoNames API爲不同國家提供這些信息,但不提供給他們的子女(州/省)。得到2個字母州/省縮寫
有誰知道如何從GeoNames的得到一個州/省/地區的2個字母縮寫或有另一種API,我可以試試嗎?
我不熟悉的GeoNames的API,但它似乎你所得到的ISO-3166 alpha-2國家代碼:http://www.iso.org/iso/country_codes.htm
如果是這樣,ISO 3166-2:2007定義州和省。上面的頁面描述瞭如何購買數據庫和其他格式的信息。
除非需要從Web服務獲取此信息,否則我認爲從某種類型的靜態文件中讀取下拉列表會更簡單,並創建偶爾更新的機制。這種類型的數據不應該經常改變(至少在穩定的國家)。
與@ user640118協議,狀態的縮寫不經常,如果有的話改變,在北美。最好只有代碼或縮寫的靜態列表。
要回答你的問題,不過,我叫上一個LiveAddress等網絡服務,它通過一個簡單的REST端點提供地理/郵政數據的工作。不過,它有點高級,因爲它接受一個地址,部分地址或完整地址,並將其填寫完整並驗證並將其標準化。您可能會發現,刪除重複項和對用戶數據進行地理編碼非常有用。
如果你有一個地址,你可以使用this wrapper function像這樣,在Javascript:
LiveAddress.verify("123 main st 12345", function(results) {
console.log(results);
});
樣本輸出可以在API文檔中找到。
Geonames爲國家提供2個字母縮寫,但只有幾個國家的州有這些縮寫。
爲什麼他們不提供標準(和有用)的東西,因爲這超出了我。
您可能是對的我不需要爲此使用Web服務。 –