From dbdaa73cf26a6b05f8076b9652e80f69522871e0 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 9 Aug 2018 17:26:51 +0200 Subject: [PATCH] Only change interacting flag when dragging --- src/ol/interaction/DragPan.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/ol/interaction/DragPan.js b/src/ol/interaction/DragPan.js index e5bd071d7a..3a5cb79cf5 100644 --- a/src/ol/interaction/DragPan.js +++ b/src/ol/interaction/DragPan.js @@ -54,6 +54,11 @@ class DragPan extends PointerInteraction { */ this.lastPointersCount_; + /** + * @type {boolean} + */ + this.panning_ = false; + /** * @private * @type {module:ol/events/condition~Condition} @@ -76,6 +81,10 @@ class DragPan extends PointerInteraction { * @this {module:ol/interaction/DragPan} */ function handleDragEvent(mapBrowserEvent) { + if (!this.panning_) { + this.panning_ = true; + this.getMap().getView().setHint(ViewHint.INTERACTING, 1); + } const targetPointers = this.targetPointers; const centroid = centroidFromPointers(targetPointers); if (targetPointers.length == this.lastPointersCount_) { @@ -128,7 +137,10 @@ function handleUpEvent(mapBrowserEvent) { easing: easeOut }); } - view.setHint(ViewHint.INTERACTING, -1); + if (this.panning_) { + this.panning_ = false; + view.setHint(ViewHint.INTERACTING, -1); + } return false; } else { if (this.kinetic_) { @@ -152,9 +164,6 @@ function handleDownEvent(mapBrowserEvent) { const map = mapBrowserEvent.map; const view = map.getView(); this.lastCentroid = null; - if (!this.handlingDownUpSequence) { - view.setHint(ViewHint.INTERACTING, 1); - } // stop any current animation if (view.getAnimating()) { view.setCenter(mapBrowserEvent.frameState.viewState.center);