Google地图是否提供在地图上绘制多个多边形的功能?

时间:2012-04-26 11:29:50

标签: javascript google-maps draw polygon

使用Google Maps JavaScript v3 API,是否可以在同一张地图上绘制多个单独的多边形?并且在使用警报绘制每个形状后出现一个消息框:'单击休息以绘制另一个'?

2 个答案:

答案 0 :(得分:2)

是的,您可以在地图上绘制多个多边形;看看Drawing Library。如果要在完成一个形状后显示消息,则需要针对监听多个可能的完成事件通知之一的DrawingManager定义一个侦听器函数:

google.maps.event.addListener(drawingMgr, 'overlaycomplete', function( event ){
    var shape = event.overlay;
    var path = shape.getPath();    //returns an MVCArray of LatLng instances
    for ( var i = 0; i < path.length; i++ ) {
        var lat = path.getAt(i).lat(); //Corrected as per MVCArray
        var lng = path.getAt(i).lng(); //Corrected as per MVCArray
        //do something with the data...
    }
    //put your message display code here
});

在函数回调中,您可以访问刚刚完成的形状。因此,在上面的代码中,event.overlay将为您提供对形状的直接引用。如果我们假设形状是Polygon,那么您就可以直接访问形状的成员,如上所示。完整的Polygon成员记录为here

答案 1 :(得分:0)

我把整个代码都用给了我:

enter code here
google.maps.event.addListener(drawingMgr, 'overlaycomplete', function( event ){
var shape = event.overlay;
var path = shape.getPath();    //returns an Array of LatLng
for ( var i = 0; i < path.length; i++ ) {
    var lat = path.getAt(i).lat();
    var lng = path.getAt(i).lng();
    //do something with the data...
}
//put your message display code here

});