Add ol.control.ResolutionConstraint.createContinuous

This commit is contained in:
Tom Payne
2012-08-06 01:02:29 +02:00
parent 17c68a18fc
commit aad50aa8a4

View File

@@ -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.<number>} resolutions Resolutions.
* @return {ol.control.ResolutionConstraintType} Zoom function.