LeafletJS - 图层的默认选择

Bac*_*hus 5 javascript leaflet

我正在使用leaflet-groupedlayercontrol将我的分组图层添加到地图中,我遇到了一个问题:

取消选择所有图层,但我想默认选择所有图层.我使用的是复选框,而不是单选按钮.

var groupedOverlays = {
    "Select": {}
};

groupedOverlays["Select"]["Group 1"] = groups[0];
groupedOverlays["Select"]["Group 2"] = groups[1];
groupedOverlays["Select"]["Group 3"] = groups[2];

// Use the custom grouped layer control, not "L.control.layers"
L.control.groupedLayers(null, groupedOverlays, {collapsed:false}).addTo(map);
Run Code Online (Sandbox Code Playgroud)

我尝试用JS选择它们,但没有奏效.

如果您知道LeafletJS的解决方案,但不知道该特定插件的解决方案,也可以.

Iva*_*hez 10

是否在内置中"选择""传单"图层L.Control.Layers取决于图层是否已添加到地图中.

例如,这将显示一个L.Control.Layers关闭复选框:

L.control.layers({}, { 
    Foo: L.marker([0,0]) 
}).addTo(map)
Run Code Online (Sandbox Code Playgroud)

...这将显示以下复选框:

L.control.layers({}, { 
    Foo: L.marker([0,0]).addTo(map)
}).addTo(map)
Run Code Online (Sandbox Code Playgroud)

我希望GroupedLayers控件的行为类似.只需仔细检查是否将图层添加到地图中.另请注意,只要在任何时候以任何方式向地图添加/删除图层,复选框的状态都会更新.