var drawingManager = new BMapLib.DrawingManager(map, {
isOpen: false, //是否开启绘制模式
enableDrawingTool: true, //是否显示工具栏
drawingToolOptions: {
anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
offset: new BMap.Size(5, 5), //偏离值
scale: 0.8, //工具栏缩放比例
//工具栏显示数据
drawingModes:[
BMAP_DRAWING_MARKER,
BMAP_DRAWING_POLYGON
]
},
polylineOptions: styleOptions, //线的样式
polygonOptions: styleOptions, //多边形的样式
rectangleOptions: styleOptions //矩形的样式
});
//绘图回调函数
drawingManager.addEventListener(‘overlaycomplete‘, overlaycomplete);
//完成后回调
var overlaycomplete = function(e){
// alert(‘end‘);
// map.removeOverlay(pointArray[0]); //清除上一次标记
// pointArray = [];
// overlays.push(e.overlay); //将用户点击的坐标保存进数组,方便清除
// getPoint(e.overlay.$);
// pointArray.push(e.overlay);
//alert(‘end‘);
alert(‘监测到polygon完成事件‘);
alert(e.drawingMode);
alert(e.overlay);
alert(e.calculate);
alert(e.label);
};
上述代码的问题在于,函数未事先定义,就进行事件的监测和回调,所以调用不成功。
var drawingManager = new BMapLib.DrawingManager(map, {
isOpen: false, //是否开启绘制模式
enableDrawingTool: true, //是否显示工具栏
drawingToolOptions: {
anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
offset: new BMap.Size(5, 5), //偏离值
scale: 0.8, //工具栏缩放比例
//工具栏显示数据
drawingModes:[
BMAP_DRAWING_MARKER,
BMAP_DRAWING_POLYGON
]
},
polylineOptions: styleOptions, //线的样式
polygonOptions: styleOptions, //多边形的样式
rectangleOptions: styleOptions //矩形的样式
});
//完成后回调
var overlaycomplete = function(e){
// alert(‘end‘);
// map.removeOverlay(pointArray[0]); //清除上一次标记
// pointArray = [];
// overlays.push(e.overlay); //将用户点击的坐标保存进数组,方便清除
// getPoint(e.overlay.$);
// pointArray.push(e.overlay);
//alert(‘end‘);
alert(‘监测到polygon完成事件‘);
alert(e.drawingMode);
alert(e.overlay);
alert(e.calculate);
alert(e.label);
};
//绘图回调函数
drawingManager.addEventListener(‘overlaycomplete‘, overlaycomplete);