我试图通过使用默认的css属性“filter:brightness(1.0);”来调整传单地图的亮度(而不是不透明度)以及添加滑块功能的方式以及下面的链接。
Leaflet Example - 将不透明度更改为滤镜:亮度(1.0);
var mymap = L.map('map').setView([51.505, -0.09], 13);
var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
opacity: 0
}).addTo(mymap);
var slider = document.getElementById('opacity-slider');
slider.addEventListener('input', function(e) {
var value = Number(e.target.value);
var opacity = value / 100;
tileLayer.setOpacity(opacity);
});
任何建议都会有所帮助。谢谢!
答案 0 :(得分:4)
这是一种方法:
<强> HTML 强>
<body>
<input type="range" min="0" max="200" value="0" class="slider" id="brightness-slider">
<div id="map"></div>
</body>
<强>的JavaScript 强>
var mymap = L.map('map').setView([51.505, -0.09], 13);
var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(mymap);
tileLayer.getContainer().style.filter = 'brightness(0%)';
var slider = document.getElementById('brightness-slider');
slider.addEventListener('input', function(e) {
var value = e.target.value;
tileLayer.getContainer().style.filter = 'brightness(' + value + '%)';
});
在this JSBin中试用。