使用 Google Maps JavaScript v3 API,是否可以在同一张地图上绘制多个单独的多边形?并包括一个在绘制每个形状后出现的消息框,并带有警告:“单击休息以绘制另一个”?
问问题
2628 次
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 回答