diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index c4620ddd0d..5deb9d3ef9 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -170,6 +170,12 @@ * click. */ +/** + * @typedef {Object} ol.interaction.DragPanOptions + * @property {ol.Kinetic|undefined} kinetic Kinetic. + * @property {ol.interaction.ConditionType|undefined} condition Conditon. + */ + /** * @typedef {Object} ol.interaction.DragRotateOptions * @property {ol.interaction.ConditionType|undefined} condition Condition. diff --git a/src/ol/interaction/dragpaninteraction.js b/src/ol/interaction/dragpaninteraction.js index 86ebc1240c..5588159fc4 100644 --- a/src/ol/interaction/dragpaninteraction.js +++ b/src/ol/interaction/dragpaninteraction.js @@ -11,30 +11,33 @@ goog.require('ol.ViewHint'); goog.require('ol.coordinate'); goog.require('ol.interaction.ConditionType'); goog.require('ol.interaction.Drag'); +goog.require('ol.interaction.condition'); /** * @constructor * @extends {ol.interaction.Drag} - * @param {ol.interaction.ConditionType} condition Condition. - * @param {ol.Kinetic=} opt_kinetic Kinetic object. + * @param {ol.interaction.DragPanOptions=} opt_options Options. */ -ol.interaction.DragPan = function(condition, opt_kinetic) { +ol.interaction.DragPan = function(opt_options) { goog.base(this); + var options = goog.isDef(opt_options) ? opt_options : {}; + /** * @private * @type {ol.interaction.ConditionType} */ - this.condition_ = condition; + this.condition_ = goog.isDef(options.condition) ? + options.condition : ol.interaction.condition.noModifierKeys; /** * @private * @type {ol.Kinetic|undefined} */ - this.kinetic_ = opt_kinetic; + this.kinetic_ = options.kinetic; /** * @private diff --git a/src/ol/interaction/interactiondefaults.js b/src/ol/interaction/interactiondefaults.js index 097f621ae7..b086eee1f9 100644 --- a/src/ol/interaction/interactiondefaults.js +++ b/src/ol/interaction/interactiondefaults.js @@ -13,7 +13,6 @@ goog.require('ol.interaction.MouseWheelZoom'); goog.require('ol.interaction.TouchPan'); goog.require('ol.interaction.TouchRotate'); goog.require('ol.interaction.TouchZoom'); -goog.require('ol.interaction.condition'); /** @@ -64,9 +63,9 @@ ol.interaction.defaults = function(opt_options, opt_interactions) { var dragPan = goog.isDef(options.dragPan) ? options.dragPan : true; if (dragPan) { - interactions.push( - new ol.interaction.DragPan(ol.interaction.condition.noModifierKeys, - new ol.Kinetic(-0.005, 0.05, 100))); + interactions.push(new ol.interaction.DragPan({ + kinetic: new ol.Kinetic(-0.005, 0.05, 100) + })); } var keyboard = goog.isDef(options.keyboard) ?