在谷歌地图上显示邮政编码/邮政编码边界

时间:2011-12-21 23:46:14

标签: google-maps zip geocoding postal-code

我想在地图上标记邮政编码的轮廓(边界)。使用谷歌地图API,我可以发送邮政编码或地址并返回日志/拉特,然后在地图上放置一个图标。现在我想在邮政编码覆盖的整个区域周围制作一个方框或多边形。是否有API或方法来执行此操作?我可以使用谷歌地图或其他服务(如果有的话)。

获取邮政编码的纬度/经过...

if (geocoder)           {       
    geocoder.geocode({ 'address': address }, function (results, status) {                  
        if (status == google.maps.GeocoderStatus.OK){
            var pcode = results[0].address_components[0].long_name;
            var latitude = results[0].geometry.location.lat();
            var longitude = results[0].geometry.location.lng();                 
        }
    }

2 个答案:

答案 0 :(得分:1)

geocoder.geocode({ 'address': address }, function (results, status) {

    if (status == google.maps.GeocoderStatus.OK) {

        var pcode = results[0].address_components[0].long_name;
        var latitude = results[0].geometry.location.lat();
        var longitude = results[0].geometry.location.lng();

        //do whatever you want above then call the displayBounds function
        displayBounds(results[0].geometry.bounds);
    }
});

function displayBounds(bounds) {

    var rectangleOptions = {
        strokeColor: '#0000ff',
        strokeOpacity: 0.5,
        strokeWeight: 3,
        bounds: bounds
    }

    var rectangle = new google.maps.Rectangle(rectangleOptions);

    rectangle.setMap(map); //map being your google.maps.Map object
}

这样您就可以在地图上显示边界。确保你在结果上得到geometry.bounds,因为情况并非总是如此。

答案 1 :(得分:0)

  

DisplayZipCodeArea(results [0] .geometry.bounds,resultsMap);

enter image description here函数DisplayZipCodeArea(bounds,resultsMap){

var rectangleOptions = {
    strokeColor: '#0000ff',
    strokeOpacity: 0.5,
    strokeWeight: 3,
    bounds: bounds
}

var rectangle = new google.maps.Rectangle(rectangleOptions);

rectangle.setMap(resultsMap); //map being your google.maps.Map object

}