使用Google Maps JavaScript v3 API,是否可以在同一张地图上绘制多个单独的多边形?并且在使用警报绘制每个形状后出现一个消息框:'单击休息以绘制另一个'?
答案 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
});