该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据报错信息,bmap_draw__WEBPACK_IMPORTED_MODULE_1__.DrawControl is not a constructor,可以看出 DrawControl 并不是一个构造函数,所以不能使用 new 来创建对象。
根据文档描述,我们可以通过 BMapLib.DrawingManager 来创建画图控件,而 BMapLib.DrawingManager 是通过 BMapLib 对象来引入的。因此,需要确保 BMapLib 已经被正确引入。
可以尝试修改代码,引入 BMapLib,并使用 BMapLib.DrawingManager 创建画图控件:
import BMap from 'BMap';
import 'BMapLib/DrawingManager';
const bmap = new BMap.Map("container");
const drawingManager = new BMapLib.DrawingManager(bmap, {
isOpen: true,
enableDrawingTool: true,
drawingToolOptions: {
anchor: BMAP_ANCHOR_TOP_RIGHT,
offset: new BMap.Size(5, 5),
},
polylineOptions: {
strokeColor: "#333",
strokeWeight: 3,
},
circleOptions: {
strokeColor: "#333",
fillColor: "#ccc",
fillOpacity: 0.3,
strokeWeight: 2,
strokeOpacity: 0.8,
},
});
drawingManager.addEventListener("overlaycomplete", function(e) {
console.log(e.overlay);
});
其中,BMapLib 是通过 script 标签引入的,需要确保 BMapLib 的正确引入。