Merge pull request #2109 from elemoine/visibleandinrange

Hit detection respects min and maxResolution
This commit is contained in:
Éric Lemoine
2014-05-25 14:43:44 +02:00
5 changed files with 72 additions and 9 deletions

View File

@@ -99,11 +99,13 @@ ol.renderer.Map.prototype.forEachFeatureAtPixel =
layerFilter, thisArg2) {
var layerStates = this.map_.getLayerGroup().getLayerStatesArray();
var numLayers = layerStates.length;
var viewResolution = frameState.view2DState.resolution;
var i;
for (i = numLayers - 1; i >= 0; --i) {
var layerState = layerStates[i];
var layer = layerState.layer;
if (layerState.visible && layerFilter.call(thisArg2, layer)) {
if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) &&
layerFilter.call(thisArg2, layer)) {
var layerRenderer = this.getLayerRenderer(layer);
var result = layerRenderer.forEachFeatureAtPixel(
coordinate, frameState, callback, thisArg);