2

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

4

2 回答 2

2

是的,您可以在地图上绘制多个多边形;查看绘图库。如果您想在完成一个形状后显示一条消息,您将需要定义一个侦听器函数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会为你提供一个直接引用的形状。如果我们假设形状是 a Polygon,那么您将能够直接访问形状的成员,如上所示。完整的Polygon成员集记录在这里

于 2012-04-26T17:25:37.087 回答
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

});

于 2012-04-27T13:52:03.077 回答