diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index d71f39e2df..a802fa16cf 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -164,6 +164,12 @@ * @property {number|undefined} minResolution Minimum resolution. */ +/** + * @typedef {Object} ol.interaction.DblClickZoomOptions + * @property {number|undefined} delta The zoom delta applied on each double + * click. + */ + /** * Interactions for the map. Default is true for all options. * @typedef {Object} ol.interaction.DefaultsOptions @@ -182,6 +188,7 @@ * desired. * @property {boolean|undefined} touchRotate Whether touch rotate is desired. * @property {boolean|undefined} touchZoom Whether touch zoom is desired. + * @property {number|undefined} zoomDelta Zoom delta. */ /** diff --git a/src/ol/interaction/dblclickzoominteraction.js b/src/ol/interaction/dblclickzoominteraction.js index 24d28b84da..3e8e1d2932 100644 --- a/src/ol/interaction/dblclickzoominteraction.js +++ b/src/ol/interaction/dblclickzoominteraction.js @@ -18,16 +18,20 @@ ol.interaction.DBLCLICKZOOM_ANIMATION_DURATION = 250; /** * @constructor * @extends {ol.interaction.Interaction} - * @param {number} delta The zoom delta applied on each double click. + * @param {ol.interaction.DblClickZoomOptions=} opt_options Options. */ -ol.interaction.DblClickZoom = function(delta) { +ol.interaction.DblClickZoom = function(opt_options) { + + var options = goog.isDef(opt_options) ? opt_options : {}; + /** * @private * @type {number} */ - this.delta_ = delta; + this.delta_ = goog.isDef(options.delta) ? options.delta : 1; goog.base(this); + }; goog.inherits(ol.interaction.DblClickZoom, ol.interaction.Interaction); diff --git a/src/ol/interaction/interactiondefaults.js b/src/ol/interaction/interactiondefaults.js index 0ad6ee5e78..e3023b492e 100644 --- a/src/ol/interaction/interactiondefaults.js +++ b/src/ol/interaction/interactiondefaults.js @@ -38,9 +38,9 @@ ol.interaction.defaults = function(opt_options, opt_interactions) { var doubleClickZoom = goog.isDef(options.doubleClickZoom) ? options.doubleClickZoom : true; if (doubleClickZoom) { - var zoomDelta = goog.isDef(options.zoomDelta) ? - options.zoomDelta : 1; - interactions.push(new ol.interaction.DblClickZoom(zoomDelta)); + interactions.push(new ol.interaction.DblClickZoom({ + delta: options.zoomDelta + })); } var touchPan = goog.isDef(options.touchPan) ?