From 9fca2c407d4a3152e1c6d1915681cebf254aaa3a Mon Sep 17 00:00:00 2001 From: ahocevar Date: Sat, 9 Nov 2013 13:28:12 +0100 Subject: [PATCH] Add a getFeatures method on the vector layer --- src/ol/layer/vectorlayer.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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,