Permalink
Browse files

Make animating rotation possible

  • Loading branch information...
1 parent de8db17 commit 33eb13d73b80d630e371efbe78ba99d90a9d0f08 @elemoine elemoine committed with tschaub Mar 4, 2013
Showing with 21 additions and 1 deletion.
  1. +21 −1 src/ol/view2d.js
View
@@ -259,8 +259,28 @@ goog.exportProperty(
* @param {ol.Map} map Map.
* @param {number|undefined} rotation Rotation.
* @param {ol.Coordinate=} opt_anchor Anchor coordinate.
+ * @param {number=} opt_duration Duration.
*/
-ol.View2D.prototype.rotate = function(map, rotation, opt_anchor) {
+ol.View2D.prototype.rotate =
+ function(map, rotation, opt_anchor, opt_duration) {
+ var currentRotation = this.getRotation();
+ var currentCenter = this.getCenter();
+ if (goog.isDef(currentRotation) && goog.isDef(currentCenter) &&
+ goog.isDef(opt_duration)) {
+ map.requestRenderFrame();
+ map.addPreRenderFunction(ol.animation.rotate({
+ rotation: currentRotation,
+ duration: opt_duration,
+ easing: goog.fx.easing.easeOut
+ }));
+ if (goog.isDef(opt_anchor)) {
+ map.addPreRenderFunction(ol.animation.pan({
+ source: currentCenter,
+ duration: opt_duration,
+ easing: goog.fx.easing.easeOut
+ }));
+ }
+ }
rotation = this.constraints_.rotation(rotation, 0);
this.rotateNoConstraint(map, rotation, opt_anchor);
};

0 comments on commit 33eb13d

Please sign in to comment.