Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make leaflet layers control with checkboxes, not radio buttons?

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.

like image 887
Evan Avatar asked Dec 11 '22 10:12

Evan


1 Answers

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.

like image 200
ghybs Avatar answered Feb 21 '23 15:02

ghybs