2009-07-14 37 views
5

以外的區域可以爲谷歌地圖的API可用於檢索的緯度和經度給定的郵政編碼或城市+區組合爲國外如美國金頓,法國,意大利,日本,澳大利亞等?獲取經緯度爲美國

我正在開發一個需要本地搜索結果的項目。對於家庭用戶,我們通過我們的數據庫中的美國郵政編碼表檢索他們的緯度/經度。它不涉及顯示任何地圖,只是通過基於緯度/經度值的半徑公式的其他用戶的結果。對於外國用戶的本地搜索結果:我只是根據匹配的城市名稱顯示結果。

目前非U.S用戶緯度/經度正在經由PHP GeoIP的數據檢索。我希望能夠根據用戶提供的城市+地區或郵政編碼檢索更準確的值。

我考慮讓郵政編碼表(有/緯度字段)對其他國家。或者Google Map API的想法是一個更好的解決方案?

+0

嗯..我只注意到這個http://www.maxmind.com/app/worldcities其中不包括郵政編碼,但至少它給出了經/緯度給定城市名稱。 – Seth 2009-07-14 03:46:24

+1

當然,這些國家是否屬於「外國」取決於你的觀點。 – 2009-07-14 03:49:45

回答

5

我發現從Google Maps Geocoder的結果是相當不錯的。

要測試您的外國郵編或地址(無需編寫任何代碼),只需將國家/地區名稱附加到字符串,然後在google maps搜索框中進行試用。

或者,你可以在Javascript很快實現查找:

geo = new GClientGeocoder(); 
geo.getLatLng("2337, Australia", function (point) { 
     GLog.write(point.lat() + "," point.lng()); 
    }); 
2
我以前使用的谷歌地圖的地理編碼

,運作良好,並可以在世界任何地方工作。

使用從谷歌的GClientGeocoder並使用「setBaseCountryCode(COUNTRYCODE:字符串)」方法,以將其設置爲國家頂級域名從郵政碼(http://en.wikipedia.org/wiki/CcTLD