From 9428a94968ea3862c70673d04bac250a5b808ff5 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 17 Jan 2013 15:37:32 +0100 Subject: [PATCH] Add animated zoom to keyboard zoom interaction --- src/ol/interaction/keyboardzoominteraction.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ol/interaction/keyboardzoominteraction.js b/src/ol/interaction/keyboardzoominteraction.js index 3075754ca7..9252cc652c 100644 --- a/src/ol/interaction/keyboardzoominteraction.js +++ b/src/ol/interaction/keyboardzoominteraction.js @@ -8,6 +8,12 @@ goog.require('ol.View2D'); goog.require('ol.interaction.Interaction'); +/** + * @define {number} Zoom duration. + */ +ol.interaction.KEYBOARD_ZOOM_DURATION = 100; + + /** * @constructor @@ -31,10 +37,11 @@ ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent = if (charCode == '+'.charCodeAt(0) || charCode == '-'.charCodeAt(0)) { var map = mapBrowserEvent.map; var delta = (charCode == '+'.charCodeAt(0)) ? 4 : -4; + map.requestRenderFrame(); // FIXME works for View2D only var view = map.getView(); goog.asserts.assert(view instanceof ol.View2D); - view.zoom(map, delta); + view.zoom(map, delta, undefined, ol.interaction.KEYBOARD_ZOOM_DURATION); keyEvent.preventDefault(); mapBrowserEvent.preventDefault(); }