GroupedLayerControl#
We can create a GroupedLayerControl and define what layers we want to group together. Those layers won’t show up in the regular layer control.
GroupedLayerControl
takes the same arguments as LayerControl
.
By default, groups are exclusive, meaning only one layer in a group can be active at a time.
[1]:
import folium
from folium.plugins import GroupedLayerControl
m = folium.Map([40., 70.], zoom_start=6)
fg1 = folium.FeatureGroup(name='g1')
fg2 = folium.FeatureGroup(name='g2')
fg3 = folium.FeatureGroup(name='g3')
folium.Marker([40, 74]).add_to(fg1)
folium.Marker([38, 72]).add_to(fg2)
folium.Marker([40, 72]).add_to(fg3)
m.add_child(fg1)
m.add_child(fg2)
m.add_child(fg3)
folium.LayerControl(collapsed=False).add_to(m)
GroupedLayerControl(
groups={'groups1': [fg1, fg2]},
collapsed=False,
).add_to(m)
m
[1]:
Make this Notebook Trusted to load map: File -> Trust Notebook
It’s also possible to have check boxes instead of radio buttons, so multiple layers within a group can be active.
In this example the layers are not shown by default, but can all be activated.
[2]:
m = folium.Map([40., 70.], zoom_start=6)
fg1 = folium.FeatureGroup(name='g1', show=False)
fg2 = folium.FeatureGroup(name='g2', show=False)
fg3 = folium.FeatureGroup(name='g3')
folium.Marker([40, 74]).add_to(fg1)
folium.Marker([38, 72]).add_to(fg2)
folium.Marker([40, 72]).add_to(fg3)
m.add_child(fg1)
m.add_child(fg2)
m.add_child(fg3)
folium.LayerControl(collapsed=False).add_to(m)
GroupedLayerControl(
groups={'groups1': [fg1, fg2]},
exclusive_groups=False,
collapsed=False,
).add_to(m)
m
[2]:
Make this Notebook Trusted to load map: File -> Trust Notebook