Add animated zoom to zoom control

This commit is contained in:
Tom Payne
2013-01-17 15:37:18 +01:00
parent 965d5e2cc8
commit 90b7cfb330

View File

@@ -11,6 +11,12 @@ goog.require('ol.Projection');
goog.require('ol.control.Control');
/**
* @define {number} Zoom duration.
*/
ol.control.ZOOM_DURATION = 250;
/**
* @constructor
@@ -61,8 +67,9 @@ ol.control.Zoom.prototype.handleIn_ = function(browserEvent) {
// prevent #zoomIn anchor from getting appended to the url
browserEvent.preventDefault();
var map = this.getMap();
map.requestRenderFrame();
// FIXME works for View2D only
map.getView().zoom(map, this.delta_);
map.getView().zoom(map, this.delta_, undefined, ol.control.ZOOM_DURATION);
};
@@ -74,6 +81,7 @@ ol.control.Zoom.prototype.handleOut_ = function(browserEvent) {
// prevent #zoomOut anchor from getting appended to the url
browserEvent.preventDefault();
var map = this.getMap();
map.requestRenderFrame();
// FIXME works for View2D only
map.getView().zoom(map, -this.delta_);
map.getView().zoom(map, -this.delta_, undefined, ol.control.ZOOM_DURATION);
};