渲染地图后是否可以以编程方式“取消选中”folium 地图中显示的图层? (出于性能原因)

问题描述 投票:0回答:1

我遇到了 folium 的一个有趣问题(python 3.95,folium 0.12.1.post1)

以下代码可以非常快地渲染地图:

import folium

m = folium.Map(location=[35.11567262307692,-89.97423444615382], zoom_start=12, tiles='Stamen Terrain')

for i in range(200):
    feature_group = folium.FeatureGroup(i, show=True)
    feature_group.add_to(m)

folium.LayerControl().add_to(m)
m

但是,如果 show 设置为 False,则渲染时间会更长。

import folium

m = folium.Map(location=[35.11567262307692,-89.97423444615382], zoom_start=12, tiles='Stamen Terrain')

for i in range(200):
    feature_group = folium.FeatureGroup(i, show=False)
    feature_group.add_to(m)

folium.LayerControl().add_to(m)
m

问题是,我不希望默认显示这些图层。所以我想知道是否有办法渲染地图,然后自动取消选中图层。

如果不行,还有其他方法可以解决这个性能问题吗?

非常感谢您的指导!

python folium
1个回答
0
投票

根据以下主题:

https://github.com/python-visualization/folium/issues/1506

https://python-visualization.github.io/folium/latest/reference.html

https://gis.stackexchange.com/questions/356957/turn-layer-off-by-default-in-leaflet-layercontrol

您可以通过在代码中应用 show=False 将

FeatureGroupSubGroup
设置为未选中状态。

 su13 = plugins.FeatureGroupSubGroup(surv, "LA", show=False)
 m.add_child(su13)

© www.soinside.com 2019 - 2024. All rights reserved.