2011-11-18 88 views
2

有沒有什麼方法(任何API或任何URL)通過只傳遞區號(郵政編碼)來查找經緯度?從郵政編碼獲取經度/緯度

+2

您要搜索的內容是「地理編碼」。 (請注意,一些郵編非常大 - 單個座標不會是一個非常準確的數據) – Piskvor

+0

嘿傢伙我有回答http://maps.googleapis.com/maps/api/geocode/xml?address=「郵政編碼「和傳感器=真 簡單的答案.. :) – Debugger

回答

3

谷歌地圖地理編碼器將只搜索郵政編碼。

下面是一個例子:(和fiddle看到它的工作)

var geocoder;  
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
} 

function codeAddress() { 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 
     'address': address 
    }, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      $('#coord').val(results[0].geometry.location); 
     } else { 
      alert("Geocode was not successful for the following reason: " 
        + status); 
     } 
    }); 
} 

谷歌的免費版本的API是有限制的,當涉及到批量地理編碼。如果您需要對很多數據進行地理編碼,則可能需要查看地理編碼服務,例如:USC's geocoding service

+0

我們可以返回latlng對象與在if塊....像.......... return latlng;我試過但沒有任何幫助.... – mandava

1

您可以嘗試使用雅虎geoplanet數據集。它包括世界各地的地理編碼郵編以及其他一些內容。這個數據集的主要問題是它不再被維護,所以它可能會丟失較新的郵政編碼。

否則,您確實可以使用geocoder。谷歌,Navteq和雅虎都有這樣的API,但我不知道他們是否可以對郵政編碼進行地理編碼。