Mapbox Draw(自定义模式)- 为什么 changeMode() on draw 未定义?
Mapbox Draw (Custom Mode) - Why is changeMode() on draw undefined?
我想在 Mapbox Draw 中使用自定义模式。我这样声明绘制对象:
var draw = new MapboxDraw({
displayControlsDefault: false,
controls: {
polygon: false,
line_string: true,
point: false,
trash: true,
},
modes: Object.assign({
custom_mode: CustomMode,
}, MapboxDraw.modes),
});
那我要换模式:
map.on('load', function () {
draw.changeMode("custom_mode");
map.addControl(draw, 'bottom-right');
});
结果:错误:无法读取未定义的 属性 'changeMode'。
但是我可以在 changeMode() 调用之前记录绘制对象。
这里有什么问题?
您需要先添加您的对象
map.addControl(draw, 'top-left')
在您的加载函数中,在 draw.changeMode("custom_mode")
上方添加 map.addControl
我想在 Mapbox Draw 中使用自定义模式。我这样声明绘制对象:
var draw = new MapboxDraw({
displayControlsDefault: false,
controls: {
polygon: false,
line_string: true,
point: false,
trash: true,
},
modes: Object.assign({
custom_mode: CustomMode,
}, MapboxDraw.modes),
});
那我要换模式:
map.on('load', function () {
draw.changeMode("custom_mode");
map.addControl(draw, 'bottom-right');
});
结果:错误:无法读取未定义的 属性 'changeMode'。 但是我可以在 changeMode() 调用之前记录绘制对象。 这里有什么问题?
您需要先添加您的对象
map.addControl(draw, 'top-left')
在您的加载函数中,在 draw.changeMode("custom_mode")
上方添加 map.addControl