设置不透明度为LayerGroup和Slider
Leaflet.js - Set Opacity to LayerGroup with Slider
我正在显示一张传单基础地图。我使用HTML5滑块将不透明度设置为图层组,但它不起作用。
我想知道我做错了什么。
提前感谢!
<h3>TF.Landscape</h3>
<br><input type="button" value=" + " onclick="BaseMapAsLayerGroup('http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png')">
<br><input id="slide" type="range" min="0" max="1" step="0.1" value="0" onchange="updateOpacity(this.value)">
<hr>
<div id="map" style="width: 800px; height: 600px"></div>
<script src="http://cdn.leafletjs.com/leaflet-0.7/leaflet.js"> </script>
<script>
var map;
var capa;
function BaseMapAsLayerGroup(url){
if(!map) {
map = L.map('map').setView([-41.2858, 174.78682], 14);
}
capa = new L.LayerGroup();
L.tileLayer(url, {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a>',
maxZoom: 18
}).addTo(capa);
map.addLayer(capa);
}
function updateOpacity(value) {
capa.opacity(value);
}
</script>
我认为你想设置图层(capa
)的不透明度,而不是地图。该变量的作用域需要不同才能正常工作。一种快速的方法是在脚本顶部的var map
下面声明capa
。
function updateOpacity(value) {
capa.opacity(value);
}
编辑:我认为这个小提琴说明了你想要做什么。有几件事是缺失的/错误的代码,因为它是在原来的帖子,包括省略了一个链接到所需的CSS传单库。
由自己的滑块控制的单层
编辑:两个图层,每个图层都有自己的滑块
另一种改变不透明度的方法是使用setstyle
函数。因此,对于您的情况,请尝试
function updateOpacity(value) {
capa.setStyle({opacity:value});
}
相关文章:
- 正在获取JS Slider页码
- 创建jQuery Slider的简单方法
- AngularJS-slider.noUiSlider不是函数
- -当在JQuery Slider上添加-webkit线性梯度时,moz线性梯度会被破坏
- 制作Easing Slider Start横幅取决于一周中的哪一天
- Revolution Slider-适用于移动设备的懒虫图像
- jQuery Slider 滑得太远了一步
- jQuery Slider/Carousel 在 DOM 之后更新内容
- Angularjs slider with ng-change
- jQuery UI Slider ui.value 获取最后一个数字
- jQuery UI Slider 每个值切换类
- 第一张幻灯片不会显示在选项卡内的 jQuery Royal Slider 中
- 无法创建带有箭头的Jssor Slider并在内部显示2个片段
- 将描述添加到jquery Nivo Slider(不是默认标题)
- Jssor Slider如何将箭头添加到缩略图库中
- 如何从super.simple.slider中删除左/右导航按钮
- jQuery UI Slider为每个值更改类
- setTimeout()-除法Slider中的输出不正确
- jQuery Slider在jQuery弹出窗口中只初始化一次
- 设置不透明度为LayerGroup和Slider