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.