Merge pull request #1372 from elemoine/vector-api-layer-group

[vector-api] Fix forEachFeatureAtPixel bug
This commit is contained in:
Éric Lemoine
2013-12-15 02:09:44 -08:00
+10 -13
View File
@@ -95,19 +95,16 @@ ol.renderer.Map.prototype.forEachFeatureAtPixel =
function(pixel, callback, opt_obj, opt_layerFunction, opt_obj2) { function(pixel, callback, opt_obj, opt_layerFunction, opt_obj2) {
var layerFunction = goog.isDef(opt_layerFunction) ? var layerFunction = goog.isDef(opt_layerFunction) ?
opt_layerFunction : goog.functions.TRUE; opt_layerFunction : goog.functions.TRUE;
var layers = this.map_.getLayers(); var layersArray = this.map_.getLayerGroup().getLayersArray();
if (goog.isDef(layers)) { var i;
var layersArray = layers.getArray(); for (i = layersArray.length - 1; i >= 0; --i) {
var i; var layer = layersArray[i];
for (i = layersArray.length - 1; i >= 0; --i) { if (layer.getVisible() && layerFunction.call(opt_obj2, layer)) {
var layer = layersArray[i]; var layerRenderer = this.getLayerRenderer(layer);
if (layer.getVisible() && layerFunction.call(opt_obj2, layer)) { var result =
var layerRenderer = this.getLayerRenderer(layer); layerRenderer.forEachFeatureAtPixel(pixel, callback, opt_obj);
var result = if (result) {
layerRenderer.forEachFeatureAtPixel(pixel, callback, opt_obj); return result;
if (result) {
return result;
}
} }
} }
} }