I am trying to find out all the features which are visible (viewport) on a layer in Openlayers 3.
I am able to find out a single feature if I add a click event to the map which is as follows. But I am not able to find all the features which are visible in the viewport. Could anyone help with this?
map.on('click', function(evt) {
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature, layer) {
return feature;
});
});
I propose that first you get the extent of the view :
var extent = yourMap.getView().calculateExtent(yourMmap.getSize());
then get all features within this extent :
yourVectorSource.forEachFeatureInExtent(extent, function(feature){
// do something
});