如何设置folium绘制地图时标记图层初始默认关闭
解决方案
创建folium.FeatureGroup时传入show=False参数,即可让对应标记图层初始加载时默认处于隐藏状态,图层控制面板中对应选项默认未勾选,用户可后续手动勾选开启图层,不需要改动其他业务逻辑。
修改说明
仅需要调整原有代码中两个FeatureGroup的初始化语句,新增show=False配置:
author1 = folium.FeatureGroup(name='author1', show=False) author2 = folium.FeatureGroup(name='author2', show=False)
完整修改后代码
map = folium.Map(location=[-14.235004, -51.92528], zoom_start=4) author1 = folium.FeatureGroup(name='author1', show=False) author2 = folium.FeatureGroup(name='author2', show=False) for i, v in res.iterrows(): popup = """ Author : <b>%s</b><br> """ % (v['author']) if v['autor'] == 'Rubens': folium.CircleMarker(location=[v['LATITUDE'], v['LONGITUDE']], radius=4, tooltip=popup, color='blue', fill_color='blue', fill=True).add_to(author1) if v['autor'] == 'Roberts': folium.CircleMarker(location=[v['LATITUDE'], v['LONGITUDE']], radius=4, tooltip=popup, color='blue', fill_color='blue', fill=True).add_to(author2) author1.add_to(map) author2.add_to(map) folium.LayerControl(collapsed=False).add_to(map)
注意:不要给底图图层设置
show=False,否则会导致地图初始加载时底图也被隐藏,仅需要给自定义的标记图层添加该参数即可。
内容的提问来源于stack exchange,提问作者Digital_humanities
相关产品推荐
相关产品推荐

