Folium图层控制循环添加图层仅成功添加一个的问题
问题
手动添加2个图层时地图功能正常,但通过for循环批量添加图层后,切换图层选择时仅色条会变化,地图内容完全没有改变。
代码
from folium.plugins import GroupedLayerControl mapa = folium.Map(location=[-33.458725289553634, -70.65252746454252], zoom_start=4) fig_layers = [] for i, col in enumerate(df_reg.columns): colormap = ColorMapLayers(df_reg, col) # 图层 layer = folium.GeoJson( data=df_sub_reg, # 合并后的GeoDataFrame name=col, overlay=True, zoom_on_click=False, # 点击矢量时是否缩放 # 矢量样式设置 style_function=lambda feature: { "color": "white", "weight": 0.5, "Opacity": 0.8, "fillOpacity": 0.8, "fillColor": colormap( df_reg[col][ feature["properties"]["CUT_REG"] ] # 根据该字段值填充颜色 ), }, # 鼠标悬停高亮样式 highlight_function=lambda x: { "fillColor": "#000000", "color": "#000000", "fillOpacity": 0.50, "weight": 0.1, }, # 悬停提示框 tooltip=folium.features.GeoJsonTooltip( fields=["REGION", col], aliases=["地区", col], style=( "background-color: white; color: #333333; font-family: arial; font-size: 8px; padding: 10px;" ), ), ) # 添加到图层组 fg = folium.FeatureGroup(col.lower()) layer.add_to(fg) mapa.add_child(fg) mapa.add_child(colormap) mapa.add_child(BindColormap(fg, colormap)) fig_layers.append(fg) GroupedLayerControl( groups={"分组": fig_layers}, collapsed=False, ).add_to(mapa) mapa
效果截图

内容的提问来源于stack exchange,提问作者Sebastian Cantergiani
相关产品推荐
相关产品推荐

