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.
*/
/**
* @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.
*/
/**

View File

@@ -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);

View File

@@ -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) ?