Mapbox Draw(自定义模式) - 为什么在 draw 时 changeMode() 未定义?

我想在 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() 调用之前记录绘制对象。这里有什么问题?


慕姐8265434
浏览 695回答 2
2回答

梵蒂冈之花

您需要先添加对象map.addControl(draw, 'top-left')

手掌心

在您的加载函数中,在 draw.changeMode("custom_mode") 上方添加 map.addControl
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript