#openlayers
Вопрос:
Когда я закончу рисовать с помощью взаимодействия рисования, объект отобразится на карте.
Я не хочу, чтобы эта функция отображалась на карте.
Я хочу удалить эту функцию после завершения рисования.
Я удалил функцию из события 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
});
Ответ №1:
Объекты рисования добавляются только в том случае, если вы укажете источник для их добавления, если вы не хотите их сохранять, вам не нужен источник
var draw = new ol.interaction.Draw({
type: 'LineString',
style: style,
freehandCondition: function freehandCondition(e) {
return false;
}
});
map.addInteraction(draw);
Ответ №2:
Я решил это с помощью события addFeature.
source.on("addfeature", function(e){
if(e.feature == global_feature)
{
source.removeFeature(e.feature);
}
});