Configure ol.interaction.DblClickZoom with options

This commit is contained in:
Tom Payne
2013-04-22 14:20:45 +02:00
parent a4d8e1c4d8
commit f2836ea111
3 changed files with 17 additions and 6 deletions

View File

@@ -164,6 +164,12 @@
* @property {number|undefined} minResolution Minimum resolution. * @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. * Interactions for the map. Default is true for all options.
* @typedef {Object} ol.interaction.DefaultsOptions * @typedef {Object} ol.interaction.DefaultsOptions
@@ -182,6 +188,7 @@
* desired. * desired.
* @property {boolean|undefined} touchRotate Whether touch rotate is desired. * @property {boolean|undefined} touchRotate Whether touch rotate is desired.
* @property {boolean|undefined} touchZoom Whether touch zoom is desired. * @property {boolean|undefined} touchZoom Whether touch zoom is desired.
* @property {number|undefined} zoomDelta Zoom delta.
*/ */
/** /**

View File

@@ -18,16 +18,20 @@ ol.interaction.DBLCLICKZOOM_ANIMATION_DURATION = 250;
/** /**
* @constructor * @constructor
* @extends {ol.interaction.Interaction} * @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 * @private
* @type {number} * @type {number}
*/ */
this.delta_ = delta; this.delta_ = goog.isDef(options.delta) ? options.delta : 1;
goog.base(this); goog.base(this);
}; };
goog.inherits(ol.interaction.DblClickZoom, ol.interaction.Interaction); goog.inherits(ol.interaction.DblClickZoom, ol.interaction.Interaction);

View File

@@ -38,9 +38,9 @@ ol.interaction.defaults = function(opt_options, opt_interactions) {
var doubleClickZoom = goog.isDef(options.doubleClickZoom) ? var doubleClickZoom = goog.isDef(options.doubleClickZoom) ?
options.doubleClickZoom : true; options.doubleClickZoom : true;
if (doubleClickZoom) { if (doubleClickZoom) {
var zoomDelta = goog.isDef(options.zoomDelta) ? interactions.push(new ol.interaction.DblClickZoom({
options.zoomDelta : 1; delta: options.zoomDelta
interactions.push(new ol.interaction.DblClickZoom(zoomDelta)); }));
} }
var touchPan = goog.isDef(options.touchPan) ? var touchPan = goog.isDef(options.touchPan) ?