diff --git a/src/ol/map.js b/src/ol/map.js index 074fe22354..dabfc3acf0 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -487,24 +487,28 @@ ol.Map.prototype.disposeInternal = function() { * @param {ol.Pixel} pixel Pixel. * @param {function(this: S, ol.Feature, ol.layer.Layer): T} callback Feature * callback. - * @param {S=} opt_obj Scope for feature callback. - * @param {function(this: U, ol.layer.Layer): boolean=} opt_layerFunction Layer - * function, only layers which are visible and for which this function - * returns `true` will be tested for features. By default, all visible - * layers will be tested. - * @param {U=} opt_obj2 Scope for layer function. + * @param {S=} opt_this Value to use as `this` when executing `callback`. + * @param {function(this: U, ol.layer.Layer): boolean=} opt_layerFilter Layer + * filter function, only layers which are visible and for which this + * function returns `true` will be tested for features. By default, all + * visible layers will be tested. + * @param {U=} opt_this2 Value to use as `this` when executing `layerFilter`. * @return {T|undefined} Callback result. * @template S,T,U */ ol.Map.prototype.forEachFeatureAtPixel = - function(pixel, callback, opt_obj, opt_layerFunction, opt_obj2) { + function(pixel, callback, opt_this, opt_layerFilter, opt_this2) { if (goog.isNull(this.frameState_)) { return; } var coordinate = this.getCoordinateFromPixel(pixel); + var thisArg = goog.isDef(opt_this) ? opt_this : null; + var layerFilter = goog.isDef(opt_layerFilter) ? + opt_layerFilter : goog.functions.TRUE; + var thisArg2 = goog.isDef(opt_this2) ? opt_this2 : null; return this.renderer_.forEachFeatureAtPixel( - coordinate, this.frameState_, callback, opt_obj, - opt_layerFunction, opt_obj2); + coordinate, this.frameState_, callback, thisArg, + layerFilter, thisArg2); }; diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index bf53f5cf9a..09ea5a239b 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -45,7 +45,7 @@ goog.inherits(ol.renderer.canvas.ImageLayer, ol.renderer.canvas.Layer); * @inheritDoc */ ol.renderer.canvas.ImageLayer.prototype.forEachFeatureAtPixel = - function(coordinate, frameState, callback, opt_this) { + function(coordinate, frameState, callback, thisArg) { var layer = this.getLayer(); var source = layer.getSource(); goog.asserts.assertInstanceof(source, ol.source.Image); @@ -58,7 +58,7 @@ ol.renderer.canvas.ImageLayer.prototype.forEachFeatureAtPixel = * @return {?} Callback result. */ function(feature) { - return callback.call(opt_this, feature, this); + return callback.call(thisArg, feature, this); }); }; diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 9012f2f247..29dd9a7fd5 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -89,7 +89,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = * @inheritDoc */ ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtPixel = - function(coordinate, frameState, callback, opt_this) { + function(coordinate, frameState, callback, thisArg) { if (goog.isNull(this.replayGroup_)) { return undefined; } else { @@ -109,7 +109,7 @@ ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtPixel = function(geometry, data) { var feature = /** @type {ol.Feature} */ (data); goog.asserts.assert(goog.isDef(feature)); - return callback.call(opt_this, feature, layer); + return callback.call(thisArg, feature, layer); }); } }; diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index b062dd984c..a9536527a8 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -50,7 +50,7 @@ goog.inherits(ol.renderer.dom.ImageLayer, ol.renderer.dom.Layer); * @inheritDoc */ ol.renderer.dom.ImageLayer.prototype.forEachFeatureAtPixel = - function(coordinate, frameState, callback, opt_this) { + function(coordinate, frameState, callback, thisArg) { var layer = this.getLayer(); var source = layer.getSource(); goog.asserts.assertInstanceof(source, ol.source.Image); @@ -63,7 +63,7 @@ ol.renderer.dom.ImageLayer.prototype.forEachFeatureAtPixel = * @return {?} Callback result. */ function(feature) { - return callback.call(opt_this, feature, this); + return callback.call(thisArg, feature, this); }); }; diff --git a/src/ol/renderer/layerrenderer.js b/src/ol/renderer/layerrenderer.js index 4ef96fd124..09dc1199ae 100644 --- a/src/ol/renderer/layerrenderer.js +++ b/src/ol/renderer/layerrenderer.js @@ -49,7 +49,7 @@ goog.inherits(ol.renderer.Layer, goog.Disposable); * @param {ol.FrameState} frameState Frame state. * @param {function(this: S, ol.Feature, ol.layer.Layer): T} callback Feature * callback. - * @param {S=} opt_this Object to use as `this` in `callback`. + * @param {S} thisArg Value to use as `this` when executing `callback`. * @return {T|undefined} Callback result. * @template S,T */ diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index c46c63d067..dab1d58fdf 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -85,26 +85,26 @@ ol.renderer.Map.prototype.disposeInternal = function() { * @param {ol.FrameState} frameState FrameState. * @param {function(this: S, ol.Feature, ol.layer.Layer): T} callback Feature * callback. - * @param {S=} opt_obj Scope for feature callback. - * @param {function(this: U, ol.layer.Layer): boolean=} opt_layerFunction Layer - * function. - * @param {U=} opt_obj2 Scope for layer function. + * @param {S} thisArg Value to use as `this` when executing `callback`. + * @param {function(this: U, ol.layer.Layer): boolean} layerFilter Layer filter + * function, only layers which are visible and for which this function + * returns `true` will be tested for features. By default, all visible + * layers will be tested. + * @param {U} thisArg2 Value to use as `this` when executing `layerFilter`. * @return {T|undefined} Callback result. * @template S,T,U */ ol.renderer.Map.prototype.forEachFeatureAtPixel = - function(coordinate, frameState, callback, opt_obj, - opt_layerFunction, opt_obj2) { - var layerFunction = goog.isDef(opt_layerFunction) ? - opt_layerFunction : goog.functions.TRUE; + function(coordinate, frameState, callback, thisArg, + layerFilter, thisArg2) { 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)) { + if (layer.getVisible() && layerFilter.call(thisArg2, layer)) { var layerRenderer = this.getLayerRenderer(layer); var result = layerRenderer.forEachFeatureAtPixel( - coordinate, frameState, callback, opt_obj); + coordinate, frameState, callback, thisArg); if (result) { return result; } diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index e2b45f7cbd..b5aecc73c8 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -76,7 +76,7 @@ ol.renderer.webgl.ImageLayer.prototype.createTexture_ = function(image) { * @inheritDoc */ ol.renderer.webgl.ImageLayer.prototype.forEachFeatureAtPixel = - function(coordinate, frameState, callback, opt_this) { + function(coordinate, frameState, callback, thisArg) { var layer = this.getLayer(); var source = layer.getSource(); goog.asserts.assertInstanceof(source, ol.source.Image); @@ -89,7 +89,7 @@ ol.renderer.webgl.ImageLayer.prototype.forEachFeatureAtPixel = * @return {?} Callback result. */ function(feature) { - return callback.call(opt_this, feature, this); + return callback.call(thisArg, feature, this); }); };