Javascript 如何使多段线图层始终位于顶部?

Javascript 如何使多段线图层始终位于顶部?,javascript,leaflet,Javascript,Leaflet,我在两个不同的radiobox按钮中有两个geojson多边形,在复选框中有一条geojson多段线。 我需要当复选框被选中并且多边形层选择被更改时,多段线层仍然在前面。如何使用BringToFront()或其他方法将多段线图层始终固定在前面 该项目在JSFIDLE进行了简化 你可以这样做 map.on('baselayerchange',函数(baselayer){ baselayer.layer.getLayers()[0].bringToBack(); }); 更新 但基本层通常是平铺层

我在两个不同的radiobox按钮中有两个geojson多边形,在复选框中有一条geojson多段线。 我需要当复选框被选中并且多边形层选择被更改时,多段线层仍然在前面。如何使用BringToFront()或其他方法将多段线图层始终固定在前面

该项目在JSFIDLE进行了简化


你可以这样做

map.on('baselayerchange',函数(baselayer){
baselayer.layer.getLayers()[0].bringToBack();
});

更新


但基本层通常是平铺层(街道、卫星、地形等),而不是geoJson多边形,因此您可能需要采取另一种方法,所有层都是简单的覆盖层

非常感谢,效果很好。是的,我知道,但在这种情况下,我的工作透明度和它看起来更干净的结果,看到街道。我想这将是一个带有复选框并引入条件的表单。是的,您可以构建一个带有单选按钮和复选框的表单,用于在更改时切换图层。更多的工作,但更多的灵活性
var poligon1 = new L.LayerGroup();
var poligon2 = new L.LayerGroup();
var polyline1 = new L.LayerGroup();
var map = L.map('map', {
  center: [39.4699075, -0.382881],
  zoom: 13,
  layers: [poligon1]
});

var baseLayers = {
  "Poligon1": poligon1,
  "Poligon2": poligon2
};

var myStylePol1 = {
  "weight": 2,
  "opacity": 1,
  "color": "#FF00CC",
  "fillOpacity": 1
};

var myStylePol2 = {
  "weight": 2,
  "opacity": 1,
  "color": "#FFFF80",
  "fillOpacity": 1
};

var myStyle3 = {
  "weight": 2,
  "opacity": 1,
  "color": "#000"
};

L.geoJson(poli1, {
    style: myStylePol1
  }).addTo(poligon1),
  L.geoJson(poli2, {
    style: myStylePol2
  }).addTo(poligon2),
  L.geoJson(polyl3, {
    style: myStyle3
  }).addTo(polyline1);

var overlays = {
  "Polyline": polyline1
};

L.control.layers(baseLayers, overlays).addTo(map);