Merge pull request #10413 from MoonE/zoomsliderextent

Limit the ZoomSlider's range to the view's constrained resolution.
This commit is contained in:
Olivier Guyot
2019-12-23 14:59:19 +01:00
committed by GitHub

View File

@@ -957,7 +957,7 @@ class View extends BaseObject {
*/
getResolutionForValueFunction(opt_power) {
const power = opt_power || 2;
const maxResolution = this.maxResolution_;
const maxResolution = this.getConstrainedResolution(this.maxResolution_);
const minResolution = this.minResolution_;
const max = Math.log(maxResolution / minResolution) / Math.log(power);
return (
@@ -988,17 +988,17 @@ class View extends BaseObject {
* @return {function(number): number} Value for resolution function.
*/
getValueForResolutionFunction(opt_power) {
const power = opt_power || 2;
const maxResolution = this.maxResolution_;
const logPower = Math.log(opt_power || 2);
const maxResolution = this.getConstrainedResolution(this.maxResolution_);
const minResolution = this.minResolution_;
const max = Math.log(maxResolution / minResolution) / Math.log(power);
const max = Math.log(maxResolution / minResolution) / logPower;
return (
/**
* @param {number} resolution Resolution.
* @return {number} Value.
*/
function(resolution) {
const value = (Math.log(maxResolution / resolution) / Math.log(power)) / max;
const value = (Math.log(maxResolution / resolution) / logPower) / max;
return value;
});
}