如何在绘制交互完成绘制后删除功能?

How to remove features after drawing is completed with draw interaction?

当我使用绘图交互完成绘图时,该地图项会显示在地图上。

我不想在地图上显示地图项。

我想在绘图完成后删除该功能。

我从 drawend 事件中删除了该地图项,但它仍然显示在地图上。

什么时候应该删除该功能?

var draw = new ol.interaction.Draw({
            source: source,
            type: 'LineString',
            style: style,           
            freehandCondition: function freehandCondition(e) {
                return false;
            }
});

map.addInteraction(draw);

drawInteraction.on('drawend', function (e) {
    source.removeFeature(e.feature); // not work
});

我用 addFeature 事件解决了。

source.on("addfeature", function(e){    
                if(e.feature == global_feature)
                {
                    source.removeFeature(e.feature);
                }                           
        });

仅当您指定要将其添加到的源时才添加绘图功能,如果您不想保存它们则不需要源

var draw = new ol.interaction.Draw({
            type: 'LineString',
            style: style,           
            freehandCondition: function freehandCondition(e) {
                return false;
            }
});

map.addInteraction(draw);