Leaflet:如何创建显示所有其他图层的组图层?

时间:2016-02-11 11:04:53

标签: javascript leaflet geojson

我创建了以下脚本,但不会显示这两个图层。如果我删除单个组(“commerciele parkeerplaatsen”和“啮齿动物”)并且只留下“两个”组,它确实有效。

var CommercialParkingSpots = L.geoJson(CommercialParking,{
    onEachFeature: MakePopupWindow  
})/*.addTo(map)*/;

var Rodents = L.geoJson(rodents,{
    onEachFeature: MakePopupWindow2  
})/*.addTo(map)*/;

var both = L.layerGroup([CommercialParkingSpots, Rodents]);

var overlays = {
    "commerciele parkeerplaatsen" : CommercialParkingSpots, 
    "rodents" : Rodents,
    "both" : both,
}

L.control.layers(null, overlays).addTo(map)

1 个答案:

答案 0 :(得分:1)

Leaflet图层一次只能添加到一个实体(地图或分组图层)。那么一旦你点击了“啮齿类动物”,会发生什么?复选框将从'两者中移除图层。 layergroup并添加到地图中。 “商业停车场”也是如此。层。一旦将它们都添加到地图中,两者都会被添加到地图中。 layergroup为空,因此在向地图添加/删除时不会执行任何操作。它确实被添加到地图中/从地图中删除,但是由于图层为空,因此您不会看到差异。

所以要简短。您尝试做的事情是不可能的。也许类似这样的解决方案对您有用:

https://stackoverflow.com/a/34392545/2019281