diff --git a/src/ol/render/canvas/Executor.js b/src/ol/render/canvas/Executor.js index 05bb112c72..6ad1108299 100644 --- a/src/ol/render/canvas/Executor.js +++ b/src/ol/render/canvas/Executor.js @@ -556,7 +556,9 @@ class Executor extends Disposable { switch (type) { case CanvasInstruction.BEGIN_GEOMETRY: feature = /** @type {import("../../Feature.js").FeatureLike} */ (instruction[1]); - if (opt_hitExtent !== undefined && !intersects(opt_hitExtent, instruction[3])) { + if (!feature.getGeometry()) { + i = /** @type {number} */ (instruction[2]); + } else if (opt_hitExtent !== undefined && !intersects(opt_hitExtent, instruction[3])) { i = /** @type {number} */ (instruction[2]) + 1; } else { ++i; diff --git a/src/ol/renderer/Map.js b/src/ol/renderer/Map.js index c0aa0ec3aa..91e9042530 100644 --- a/src/ol/renderer/Map.js +++ b/src/ol/renderer/Map.js @@ -97,9 +97,7 @@ class MapRenderer extends Disposable { * @return {?} Callback result. */ function forEachFeatureAtCoordinate(managed, feature, layer) { - if (managed) { - return callback.call(thisArg, feature, layer); - } + return callback.call(thisArg, feature, managed ? layer : null); } const projection = viewState.projection;