From f79ab2561716e879ce1e005774970afa1c2859fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Fri, 13 Dec 2013 11:58:23 +0100 Subject: [PATCH] Make forEachFeatureAtPixel work with layer groups --- src/ol/renderer/maprenderer.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index fac6bec51e..b51beab355 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -93,19 +93,16 @@ ol.renderer.Map.prototype.forEachFeatureAtPixel = function(pixel, callback, opt_obj, opt_layerFunction, opt_obj2) { var layerFunction = goog.isDef(opt_layerFunction) ? opt_layerFunction : goog.functions.TRUE; - var layers = this.map_.getLayers(); - if (goog.isDef(layers)) { - var layersArray = layers.getArray(); - var i; - for (i = layersArray.length - 1; i >= 0; --i) { - var layer = layersArray[i]; - if (layer.getVisible() && layerFunction.call(opt_obj2, layer)) { - var layerRenderer = this.getLayerRenderer(layer); - var result = - layerRenderer.forEachFeatureAtPixel(pixel, callback, opt_obj); - if (result) { - return result; - } + var layersArray = this.map_.getLayerGroup().getLayersArray(); + var i; + for (i = layersArray.length - 1; i >= 0; --i) { + var layer = layersArray[i]; + if (layer.getVisible() && layerFunction.call(opt_obj2, layer)) { + var layerRenderer = this.getLayerRenderer(layer); + var result = + layerRenderer.forEachFeatureAtPixel(pixel, callback, opt_obj); + if (result) { + return result; } } }