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