diff --git a/src/ol/interaction/MouseWheelZoom.js b/src/ol/interaction/MouseWheelZoom.js index 30548d2587..41caa45c78 100644 --- a/src/ol/interaction/MouseWheelZoom.js +++ b/src/ol/interaction/MouseWheelZoom.js @@ -8,13 +8,6 @@ import Interaction, {zoomByDelta} from './Interaction.js'; import {clamp} from '../math.js'; -/** - * Maximum mouse wheel delta. - * @type {number} - */ -const MAX_DELTA = 1; - - /** * @enum {string} */ @@ -30,6 +23,7 @@ export const Mode = { * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a * boolean to indicate whether that event should be handled. Default is * {@link module:ol/events/condition~always}. + * @property {number} [maxDelta=1] Maximum mouse wheel delta. * @property {number} [duration=250] Animation duration in milliseconds. * @property {number} [timeout=80] Mouse wheel timeout duration in milliseconds. * @property {boolean} [useAnchor=true] Enable zooming using the mouse's @@ -65,6 +59,12 @@ class MouseWheelZoom extends Interaction { */ this.lastDelta_ = 0; + /** + * @private + * @type {number} + */ + this.maxDelta_ = options.maxDelta !== undefined ? options.maxDelta : 1; + /** * @private * @type {number} @@ -235,8 +235,7 @@ class MouseWheelZoom extends Interaction { if (view.getAnimating()) { view.cancelAnimations(); } - const maxDelta = MAX_DELTA; - const delta = clamp(this.totalDelta_, -maxDelta, maxDelta); + const delta = clamp(this.totalDelta_, -this.maxDelta_, this.maxDelta_); zoomByDelta(view, -delta, this.lastAnchor_, this.duration_); this.mode_ = undefined; this.totalDelta_ = 0;