Using OpenLayers 3.9.0.
I have two vector layers which are both desplayed on the map and can select any feature with a singleclick var select = new ol.interaction.Select();
Now I need to make it possible to remove selected feature with Del key.
I ended up with creating the folloing function and listener
var deleteFeature = function(e){
if(e.keyCode == 46 && (select !== null)){
layer.getSource().removeFeature(select.getFeatures());
}
};
document.addEventListener('keydown', deleteFeature, false);
but the problem is that I don't know the layer of the selected feature to call the removeFeture method on.
Any suggestions how to find out the layer of the selected feature or another way of removing selected features?
Best Answer
UPDATED to achieve when layer is within a
ol.layer.Group
. Now you should passmap
reference to method.http://jsfiddle.net/jonataswalker/r242y7ke/
A method to get
ol.layer.Vector
from feature you can use like so:Then loop through
select.getFeatures()
and getol.layer.Vector
:Used here - https://stackoverflow.com/a/31299728/4640499