diff --git a/html/script.js b/html/script.js index 3013633..0777f0c 100644 --- a/html/script.js +++ b/html/script.js @@ -2976,12 +2976,19 @@ function initMap() { initFilters(); + ol.control.LayerSwitcher.forEachRecursive(layers_group, function(lyr) { + if (lyr.get('type') != 'base') + return; + lyr.dimKey = lyr.on('postrender', dim); + }); + new Toggle({ key: "MapDim", display: "Dim Map", container: "#settingsLeft", init: MapDim, setState: function(state) { + /* if (!state) { ol.control.LayerSwitcher.forEachRecursive(layers_group, function(lyr) { if (lyr.get('type') != 'base') @@ -2995,6 +3002,7 @@ function initMap() { lyr.dimKey = lyr.on('postrender', dim); }); } + */ if (loadFinished) { OLMap.render(); } @@ -4940,8 +4948,19 @@ function togglePersistence() { function dim(evt) { try { - const dim = mapDimPercentage * (1 + 0.25 * toggles['darkerColors'].state) + layerExtraDim; - const contrast = mapContrastPercentage * (1 + 0.1 * toggles['darkerColors'].state) + layerExtraContrast; + let currentDimPercentage; + let currentContrastPercentage; + + if (toggles['MapDim'].state) { + currentDimPercentage = mapDimPercentage; + currentContrastPercentage = mapContrastPercentage; + } else { + currentDimPercentage = mapDimPercentage / 4; + currentContrastPercentage = mapContrastPercentage / 4 + 0.01; + } + + const dim = currentDimPercentage * (1 + 0.25 * toggles['darkerColors'].state) + layerExtraDim; + const contrast = currentContrastPercentage * (1 + 0.1 * toggles['darkerColors'].state) + layerExtraContrast; if (dim > 0.0001) { evt.context.globalCompositeOperation = 'multiply'; evt.context.fillStyle = 'rgba(0,0,0,'+dim+')';