Make leaflet layers control with checkboxes, not r

2019-02-26 20:49发布

问题:

Is there an easy way to make a leaflet layers control (L.control.layers) use checkboxes rather than radio buttons?

I have multiple WMS tile layers, and I'd like to be able to have more than one on the map at the same time. For context, the WMS tile layers include bathymetry and contours (topo lines), so it'd be more informative to visualize both at the same time, rather than just having some lines floating in the ocean.

In the leaflet example it says the layers control is "smart enough" to know which to assign radio buttons and which checkboxes, but it'd be nice to have more customized control.

Relevant code:

L.control.layers(WMS, null, {collapsed: false}).addTo(map);
where WMS is multiple L.tileLayer.wms layers.

回答1:

Pass your WMS as the 2nd argument (i.e. as overlays) instead of the 1st (basemaps) of L.control.layers.

Overlays use check boxes, whereas basemaps use radio buttons.



回答2:

Here i create an example to demonstrate what ghybs said.

L.control.layers(null, mixed).addTo(map);

Checkout my jsfiddle http://jsfiddle.net/iofirag/Ltub5bgv/18/.