diff --git a/src/objectliterals.exports b/src/objectliterals.exports index dd1ae0d5f8..6d62578b1d 100644 --- a/src/objectliterals.exports +++ b/src/objectliterals.exports @@ -81,6 +81,9 @@ @exportObjectLiteralProperty ol.interaction.DefaultOptions.touchRotate boolean|undefined @exportObjectLiteralProperty ol.interaction.DefaultOptions.touchZoom boolean|undefined +@exportObjectLiteral ol.interaction.KeyboardZoomOptions +@exportObjectLiteralProperty ol.interaction.KeyboardZoomOptions.delta number|undefined + @exportObjectLiteral ol.layer.LayerOptions @exportObjectLiteralProperty ol.layer.LayerOptions.brightness number|undefined @exportObjectLiteralProperty ol.layer.LayerOptions.contrast number|undefined diff --git a/src/ol/interaction/keyboardzoominteraction.js b/src/ol/interaction/keyboardzoominteraction.js index cbfe06c51e..5cdaa334e1 100644 --- a/src/ol/interaction/keyboardzoominteraction.js +++ b/src/ol/interaction/keyboardzoominteraction.js @@ -16,10 +16,21 @@ ol.interaction.KEYBOARD_ZOOM_DURATION = 100; /** * @constructor + * @param {ol.interaction.KeyboardZoomOptions=} opt_options Options. * @extends {ol.interaction.Interaction} */ -ol.interaction.KeyboardZoom = function() { +ol.interaction.KeyboardZoom = function(opt_options) { + goog.base(this); + + var options = goog.isDef(opt_options) ? opt_options : {}; + + /** + * @private + * @type {number} + */ + this.delta_ = goog.isDef(options.delta) ? options.delta : 1; + }; goog.inherits(ol.interaction.KeyboardZoom, ol.interaction.Interaction); @@ -35,7 +46,7 @@ ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent = var charCode = keyEvent.charCode; if (charCode == '+'.charCodeAt(0) || charCode == '-'.charCodeAt(0)) { var map = mapBrowserEvent.map; - var delta = (charCode == '+'.charCodeAt(0)) ? 4 : -4; + var delta = (charCode == '+'.charCodeAt(0)) ? this.delta_ : -this.delta_; map.requestRenderFrame(); // FIXME works for View2D only var view = map.getView();