diff --git a/src/ol/control/resolutionconstraint.js b/src/ol/control/resolutionconstraint.js index 46383f0f21..140abbf544 100644 --- a/src/ol/control/resolutionconstraint.js +++ b/src/ol/control/resolutionconstraint.js @@ -11,6 +11,26 @@ goog.require('ol.array'); ol.control.ResolutionConstraintType; +/** + * @param {number} power Power. + * @param {number} maxResolution Maximum resolution. + * @param {number=} opt_minResolution Minimum resolution. + * @return {ol.control.ResolutionConstraintType} Zoom function. + */ +ol.control.ResolutionConstraint.createContinuous = + function(power, maxResolution, opt_minResolution) { + var minResolution = opt_minResolution || 0; + return function(resolution, delta) { + if (goog.isDef(resolution)) { + resolution /= Math.pow(power, delta); + return goog.math.clamp(resolution, minResolution, maxResolution); + } else { + return undefined; + } + }; +}; + + /** * @param {Array.} resolutions Resolutions. * @return {ol.control.ResolutionConstraintType} Zoom function.