如何在绘制交互完成绘制后删除功能?
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);
当我使用绘图交互完成绘图时,该地图项会显示在地图上。
我不想在地图上显示地图项。
我想在绘图完成后删除该功能。
我从 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);