关闭所有 Folium 磁贴

Switching off all Folium tiles

我想知道是否可以关闭 所有已添加到 Folium Map 对象的 Folium tile。默认情况下应选择一个图块,但可以显示 空白背景?

我认为这个选项可能对增强放置在图块上的实体的可视化有用。

  • 您可以将 tile layers 添加到 folium maps
  • 下面的代码添加了一个空白图块层,然后在我的系统上添加了 26 个其他候选底图
  • 最后folium.map.LayerControl()允许选择图层,包括空白图层
import xyzservices.providers as xyz
import geopandas as gpd
import matplotlib.colors as colors
import folium

gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_cities"))
gdf["Hemisphere"] = gdf["geometry"].apply(lambda x: "Norte" if x.y > 0 else "Sur")

# create a map
m = gdf.explore(
    column="Hemisphere",
    name="Cities",
    cmap=colors.ListedColormap(["#D94325", "#5CD925"]),
    tiles=None,
)


def filter_provider(p):
    if p.requires_token():
        return False
    if (
        "Stadia" in p.name
        or "CyclOSM" in p.name
        or "NASAGIBS" in p.name
        or "BlackAndWhite" in p.name
    ):
        return False
    if hasattr(p, "variant"):
        return False
    if hasattr(p, "ext"):
        return False
    if hasattr(p, "status") and p.status == "broken":
        return False
    return True


# empty tile layer
folium.TileLayer("", name="None", attr="blank").add_to(m)

# add multiple candidate base layers / tiles to folium map
for name, args in xyz.filter(function=filter_provider).flatten().items():
    folium.TileLayer(args["url"], name=name, attr=args["attribution"]).add_to(m)

# add control to be able to select base map
m.add_child(folium.map.LayerControl())