diff --git a/src/ol/layer/vectorlayer.js b/src/ol/layer/vectorlayer.js index bbb4bb66d5..ffcbb8a634 100644 --- a/src/ol/layer/vectorlayer.js +++ b/src/ol/layer/vectorlayer.js @@ -267,6 +267,24 @@ ol.layer.Vector.prototype.getStyle = function() { }; +/** + * Returns an array of features that match a filter. This will not fetch data, + * it only considers features that are loaded already. + * @param {function(ol.Feature):boolean} filter Filter function. + * @return {Array.} Features that match the filter. + */ +ol.layer.Vector.prototype.getFeatures = function(filter) { + var features = this.featureCache_.getFeaturesObject(); + var result = []; + for (var f in features) { + if (filter(features[f]) === true) { + result.push(features[f]); + } + } + return result; +}; + + /** * Get all features whose bounding box intersects the provided extent. This * method is intended for being called by the renderer. When null is returned,