From 3d37ba7666b6005c35e87dabbdbd1a4c59518443 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 7 Mar 2013 19:56:55 +0100 Subject: [PATCH] Add ol.View2D.pan --- src/ol/view2d.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/ol/view2d.js b/src/ol/view2d.js index f472014250..39e83ee3f1 100644 --- a/src/ol/view2d.js +++ b/src/ol/view2d.js @@ -16,6 +16,7 @@ goog.require('ol.RotationConstraint'); goog.require('ol.Size'); goog.require('ol.View'); goog.require('ol.animation'); +goog.require('ol.easing'); goog.require('ol.projection'); @@ -255,6 +256,26 @@ goog.exportProperty( ol.View2D.prototype.setRotation); +/** + * @param {ol.Map} map Map. + * @param {ol.Coordinate} delta Delta. + * @param {number=} opt_duration Duration. + */ +ol.View2D.prototype.pan = function(map, delta, opt_duration) { + var currentCenter = this.getCenter(); + if (goog.isDef(currentCenter) && goog.isDef(opt_duration)) { + map.requestRenderFrame(); + map.addPreRenderFunction(ol.animation.pan({ + source: currentCenter, + duration: opt_duration, + easing: ol.easing.linear + })); + this.setCenter(new ol.Coordinate( + currentCenter.x + delta.x, currentCenter.y + delta.y)); + } +}; + + /** * @param {ol.Map} map Map. * @param {number|undefined} rotation Rotation.