从邮政编码中获取纬度/经度

时间:2011-11-18 13:21:57

标签: java json google-maps-api-3 geocoding

有没有办法(任何API或任何网址)找到lat,只需传递区号(邮政编码)吗?

3 个答案:

答案 0 :(得分:3)

您只需要使用此信息的数据库; here's a free one.

答案 1 :(得分:3)

Google Maps Geocoder将仅搜索邮政编码。

以下是一个示例:(以及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);
        }
    });
}

Google的免费版API在批量地理编码方面具有限制性。如果您需要对大量数据进行地理编码,则可能需要查看地理编码服务,例如:USC's geocoding service

答案 2 :(得分:1)

您可以尝试使用yahoo geoplanet数据集。它包括全球地理编码的zipcodes和其他一些东西。该数据集的主要问题是它不再被维护,因此可能缺少较新的邮政编码。

否则,您确实可以使用地理编码器。谷歌,Navteq和雅虎有这样的API虽然我不知道他们是否可以只对邮政编码进行地理编码。