diff --git a/src/ol/interaction/dragpaninteraction.js b/src/ol/interaction/dragpaninteraction.js index 8a49b6846a..d3a2c2fa7d 100644 --- a/src/ol/interaction/dragpaninteraction.js +++ b/src/ol/interaction/dragpaninteraction.js @@ -40,6 +40,7 @@ ol.interaction.DragPan.prototype.handleDrag = function(mapBrowserEvent) { } var newCenter = new ol.Coordinate( this.startCenter.x + delta.x, this.startCenter.y + delta.y); + map.requestRenderFrame(); map.setCenter(newCenter); }; @@ -50,6 +51,7 @@ ol.interaction.DragPan.prototype.handleDrag = function(mapBrowserEvent) { ol.interaction.DragPan.prototype.handleDragStart = function(mapBrowserEvent) { var browserEvent = mapBrowserEvent.browserEvent; if (this.condition_(browserEvent)) { + mapBrowserEvent.map.requestRenderFrame(); return true; } else { return false; diff --git a/src/ol/interaction/dragrotateandzoominteraction.js b/src/ol/interaction/dragrotateandzoominteraction.js index 730b4def6a..a45f943a90 100644 --- a/src/ol/interaction/dragrotateandzoominteraction.js +++ b/src/ol/interaction/dragrotateandzoominteraction.js @@ -51,6 +51,7 @@ ol.interaction.DragRotateAndZoom.prototype.handleDrag = size.height / 2 - browserEvent.offsetY); var theta = Math.atan2(delta.y, delta.x); // FIXME this should use map.withFrozenRendering but an assertion fails :-( + map.requestRenderFrame(); map.rotate(this.startRotation_, -theta); var resolution = this.startRatio_ * delta.magnitude(); map.zoomToResolution(resolution); @@ -73,6 +74,7 @@ ol.interaction.DragRotateAndZoom.prototype.handleDragStart = var theta = Math.atan2(delta.y, delta.x); this.startRotation_ = (map.getRotation() || 0) + theta; this.startRatio_ = resolution / delta.magnitude(); + map.requestRenderFrame(); return true; } else { return false; diff --git a/src/ol/interaction/dragrotateinteraction.js b/src/ol/interaction/dragrotateinteraction.js index b40ab74690..d574a72a64 100644 --- a/src/ol/interaction/dragrotateinteraction.js +++ b/src/ol/interaction/dragrotateinteraction.js @@ -42,6 +42,7 @@ ol.interaction.DragRotate.prototype.handleDrag = function(mapBrowserEvent) { var theta = Math.atan2( size.height / 2 - offset.y, offset.x - size.width / 2); + map.requestRenderFrame(); map.rotate(this.startRotation_, -theta); }; @@ -55,6 +56,7 @@ ol.interaction.DragRotate.prototype.handleDragStart = var map = mapBrowserEvent.map; if (browserEvent.isMouseActionButton() && this.condition_(browserEvent) && map.canRotate()) { + map.requestRenderFrame(); var size = map.getSize(); var offset = mapBrowserEvent.getPixel(); var theta = Math.atan2( diff --git a/src/ol/interaction/mousewheelzoominteraction.js b/src/ol/interaction/mousewheelzoominteraction.js index c9b9ec47a7..0e439742c3 100644 --- a/src/ol/interaction/mousewheelzoominteraction.js +++ b/src/ol/interaction/mousewheelzoominteraction.js @@ -36,6 +36,7 @@ ol.interaction.MouseWheelZoom.prototype.handleMapBrowserEvent = goog.asserts.assert(mouseWheelEvent instanceof goog.events.MouseWheelEvent); var anchor = mapBrowserEvent.getCoordinate(); var delta = mouseWheelEvent.deltaY < 0 ? this.delta_ : -this.delta_; + map.requestRenderFrame(); map.zoom(delta, anchor); mapBrowserEvent.preventDefault(); mouseWheelEvent.preventDefault();