Normalize rotation to values between -180 and 180 degrees after animation

This commit is contained in:
Andreas Hocevar
2017-06-28 15:45:45 +02:00
parent cd4ed759ed
commit ee0eb8b1a0
2 changed files with 18 additions and 5 deletions

View File

@@ -296,9 +296,7 @@ ol.View.prototype.animate = function(var_args) {
if (options.rotation !== undefined) {
animation.sourceRotation = rotation;
var delta =
ol.math.modulo(options.rotation - rotation + Math.PI, 2 * Math.PI) -
Math.PI;
var delta = ol.math.modulo(options.rotation - rotation + Math.PI, 2 * Math.PI) - Math.PI;
animation.targetRotation = rotation + delta;
rotation = animation.targetRotation;
}
@@ -399,7 +397,7 @@ ol.View.prototype.updateAnimations_ = function() {
}
if (animation.sourceRotation !== undefined && animation.targetRotation !== undefined) {
var rotation = progress === 1 ?
animation.targetRotation :
ol.math.modulo(animation.targetRotation + Math.PI, 2 * Math.PI) - Math.PI :
animation.sourceRotation + progress * (animation.targetRotation - animation.sourceRotation);
if (animation.anchor) {
this.set(ol.ViewProperty.CENTER,