leaflet control.layers踩的一个坑

Control.Layers方法

该方法可以创建一个切换图层的工具,

L.control.layers(baseLayers, overlayers).addTo(map);
baseLayers参数表示可以切换的图层,以单选形式展示;overlayers表示覆盖图层,以checkbox形式展示;

baseLayers可以是由
L.tileLayer创建的切片图层,或者是L.layerGroup创建的图层分组;

 其中imga,imgb,imgc,imgd都是由L.tileLayer创建的图层;Control.Layers方法会以递增的形式重新设置配置项中的所有图层;

以上图为例,分组1获得层级1,分组1内的图层也都是1;分组2获得层级2,分组2内的图层也都是2,但是分组1和分租2中都包含了同一个图层imgb,所以imgb将是以最后一次设置为准。

此时4个图层的层级分别是1,2,2,3,这时候如果切换图层会发现切换到第二个时,imgb图层不能正常显示,因为imgc和imgb的层级都是2。

解决办法是在添加完工具后,重设图层层级;

imgb.setZIndex(4)即可。
 

 
原文地址:https://www.cnblogs.com/scdisplay/p/11772384.html