From 49bf204c13dfef265f1167f131d0c3e898d49fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Mon, 15 Apr 2013 10:46:55 +0200 Subject: [PATCH] pan interactions call requestRenderFrame on dragend --- src/ol/interaction/dragpaninteraction.js | 4 +++- src/ol/interaction/touchpaninteraction.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ol/interaction/dragpaninteraction.js b/src/ol/interaction/dragpaninteraction.js index 02561e4960..86ebc1240c 100644 --- a/src/ol/interaction/dragpaninteraction.js +++ b/src/ol/interaction/dragpaninteraction.js @@ -78,7 +78,7 @@ ol.interaction.DragPan.prototype.handleDragEnd = function(mapBrowserEvent) { var map = mapBrowserEvent.map; var view = map.getView(); - view.setHint(ol.ViewHint.INTERACTING, -1); + var interacting = view.setHint(ol.ViewHint.INTERACTING, -1); if (this.kinetic_ && this.kinetic_.end()) { var distance = this.kinetic_.getDistance(); @@ -93,6 +93,8 @@ ol.interaction.DragPan.prototype.handleDragEnd = function(mapBrowserEvent) { centerpx.y - distance * Math.sin(angle)); var dest = map.getCoordinateFromPixel(destpx); view.setCenter(dest); + } else if (interacting === 0) { + map.requestRenderFrame(); } }; diff --git a/src/ol/interaction/touchpaninteraction.js b/src/ol/interaction/touchpaninteraction.js index 3d48a04a40..8bd3ef35d3 100644 --- a/src/ol/interaction/touchpaninteraction.js +++ b/src/ol/interaction/touchpaninteraction.js @@ -81,7 +81,7 @@ ol.interaction.TouchPan.prototype.handleTouchEnd = var map = mapBrowserEvent.map; var view = map.getView(); if (this.targetTouches.length == 0) { - view.setHint(ol.ViewHint.INTERACTING, -1); + var interacting = view.setHint(ol.ViewHint.INTERACTING, -1); if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) { var distance = this.kinetic_.getDistance(); var angle = this.kinetic_.getAngle(); @@ -94,6 +94,8 @@ ol.interaction.TouchPan.prototype.handleTouchEnd = centerpx.y - distance * Math.sin(angle)); var dest = map.getCoordinateFromPixel(destpx); view.setCenter(dest); + } else if (interacting === 0) { + map.requestRenderFrame(); } return false; } else {