diff --git a/src/ol/interaction/interaction.js b/src/ol/interaction/interaction.js index 22d307ad99..11fa586d6b 100644 --- a/src/ol/interaction/interaction.js +++ b/src/ol/interaction/interaction.js @@ -33,7 +33,6 @@ ol.interaction.Interaction.pan = function( var currentCenter = view.getCenter(); if (goog.isDef(currentCenter)) { if (goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.pan({ source: currentCenter, duration: opt_duration, @@ -74,7 +73,6 @@ ol.interaction.Interaction.rotateWithoutConstraints = var currentCenter = view.getCenter(); if (goog.isDef(currentRotation) && goog.isDef(currentCenter) && goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.rotate({ rotation: currentRotation, duration: opt_duration, @@ -154,7 +152,6 @@ ol.interaction.Interaction.zoomWithoutConstraints = var currentCenter = view.getCenter(); if (goog.isDef(currentResolution) && goog.isDef(currentCenter) && goog.isDef(opt_duration)) { - map.requestRenderFrame(); map.addPreRenderFunction(ol.animation.zoom({ resolution: currentResolution, duration: opt_duration, diff --git a/src/ol/interaction/touchpaninteraction.js b/src/ol/interaction/touchpaninteraction.js index 027ddc8bf8..3d48a04a40 100644 --- a/src/ol/interaction/touchpaninteraction.js +++ b/src/ol/interaction/touchpaninteraction.js @@ -60,11 +60,13 @@ ol.interaction.TouchPan.prototype.handleTouchMove = function(mapBrowserEvent) { } var deltaX = this.lastCentroid.x - centroid.x; var deltaY = centroid.y - this.lastCentroid.y; - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); var center = [deltaX, deltaY]; ol.coordinate.scale(center, view.getResolution()); ol.coordinate.rotate(center, view.getRotation()); ol.coordinate.add(center, view.getCenter()); + map.requestRenderFrame(); view.setCenter(center); } this.lastCentroid = centroid; @@ -110,9 +112,9 @@ ol.interaction.TouchPan.prototype.handleTouchStart = var map = mapBrowserEvent.map; var view = map.getView(); this.lastCentroid = null; + map.requestRenderFrame(); if (!goog.isNull(this.kineticPreRenderFn_) && map.removePreRenderFunction(this.kineticPreRenderFn_)) { - map.requestRenderFrame(); view.setCenter(mapBrowserEvent.frameState.view2DState.center); this.kineticPreRenderFn_ = null; } diff --git a/src/ol/interaction/touchrotateinteraction.js b/src/ol/interaction/touchrotateinteraction.js index c0d2e696cc..853dff1079 100644 --- a/src/ol/interaction/touchrotateinteraction.js +++ b/src/ol/interaction/touchrotateinteraction.js @@ -17,8 +17,6 @@ ol.interaction.TOUCHROTATE_ANIMATION_DURATION = 250; -/** - /** * @constructor * @extends {ol.interaction.Touch} @@ -100,6 +98,7 @@ ol.interaction.TouchRotate.prototype.handleTouchMove = // rotate if (this.rotating_) { var view = map.getView().getView2D(); + map.requestRenderFrame(); ol.interaction.Interaction.rotateWithoutConstraints(map, view, view.getRotation() + rotationDelta, anchor); } @@ -133,10 +132,12 @@ ol.interaction.TouchRotate.prototype.handleTouchEnd = ol.interaction.TouchRotate.prototype.handleTouchStart = function(mapBrowserEvent) { if (this.targetTouches.length >= 2) { - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); this.lastAngle_ = undefined; this.rotating_ = false; this.rotationDelta_ = 0.0; + map.requestRenderFrame(); view.setHint(ol.ViewHint.INTERACTING, 1); return true; } else { diff --git a/src/ol/interaction/touchzoominteraction.js b/src/ol/interaction/touchzoominteraction.js index 63558750a1..4d378a7c80 100644 --- a/src/ol/interaction/touchzoominteraction.js +++ b/src/ol/interaction/touchzoominteraction.js @@ -76,6 +76,7 @@ ol.interaction.TouchZoom.prototype.handleTouchMove = var anchor = map.getCoordinateFromPixel(centroid); // scale, bypass the resolution constraint + map.requestRenderFrame(); ol.interaction.Interaction.zoomWithoutConstraints( map, view, view.getResolution() * scaleDelta, anchor); @@ -110,9 +111,11 @@ ol.interaction.TouchZoom.prototype.handleTouchEnd = ol.interaction.TouchZoom.prototype.handleTouchStart = function(mapBrowserEvent) { if (this.targetTouches.length >= 2) { - var view = mapBrowserEvent.map.getView(); + var map = mapBrowserEvent.map; + var view = map.getView(); this.lastDistance_ = undefined; this.lastScaleDelta_ = 1; + map.requestRenderFrame(); view.setHint(ol.ViewHint.INTERACTING, 1); return true; } else {