From d42d88c198d24f5569a6ea67f2d35c587b1416c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Mon, 4 Mar 2013 20:30:15 +0100 Subject: [PATCH] Animate rotation when releasing mouse or fingers --- src/ol/interaction/dragrotateinteraction.js | 9 ++++++++- src/ol/interaction/touchrotateinteraction.js | 11 ++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/ol/interaction/dragrotateinteraction.js b/src/ol/interaction/dragrotateinteraction.js index 90b92c0be5..d4036be9c1 100644 --- a/src/ol/interaction/dragrotateinteraction.js +++ b/src/ol/interaction/dragrotateinteraction.js @@ -6,6 +6,12 @@ goog.require('ol.interaction.ConditionType'); goog.require('ol.interaction.Drag'); +/** + * @define {number} Animation duration. + */ +ol.interaction.DRAGROTATE_ANIMATION_DURATION = 250; + + /** * @constructor @@ -62,7 +68,8 @@ ol.interaction.DragRotate.prototype.handleDragEnd = function(mapBrowserEvent) { // FIXME supports View2D only var view = map.getView(); goog.asserts.assert(view instanceof ol.View2D); - view.rotate(map, view.getRotation()); + view.rotate(map, view.getRotation(), undefined, + ol.interaction.DRAGROTATE_ANIMATION_DURATION); view.setHint(ol.ViewHint.INTERACTING, -1); }; diff --git a/src/ol/interaction/touchrotateinteraction.js b/src/ol/interaction/touchrotateinteraction.js index be084f7db0..a3a6e14dfe 100644 --- a/src/ol/interaction/touchrotateinteraction.js +++ b/src/ol/interaction/touchrotateinteraction.js @@ -8,6 +8,14 @@ goog.require('ol.ViewHint'); goog.require('ol.interaction.Touch'); +/** + * @define {number} Animation duration. + */ +ol.interaction.TOUCHROTATE_ANIMATION_DURATION = 250; + + + +/** /** * @constructor @@ -104,7 +112,8 @@ ol.interaction.TouchRotate.prototype.handleTouchEnd = var map = mapBrowserEvent.map; var view = map.getView(); if (this.rotating_) { - view.rotate(map, view.getRotation()); + view.rotate(map, view.getRotation(), undefined, + ol.interaction.TOUCHROTATE_ANIMATION_DURATION); } view.setHint(ol.ViewHint.INTERACTING, -1); return false;