Folium 不显示版本 0.14.0 的地图,版本 0.15.0 出现错误

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

我之前用过folium,没问题。

然而,今天我使用它,发现0.14.0版本没有地图显示。

我在 0.15.0 版本中遇到如下错误:(ValueError:自定义图块必须有属性。)

没有图块,我可以看到地图,但是,我不能使用特定的图块。

我该如何解决这个问题?

folium
1个回答
0
投票

我遇到了同样的问题。

旧的编码方式:


    folium.TileLayer('Stamen Terrain').add_to(m)

抛出错误:


    raise ValueError("Custom tiles must have an attribution.")
    ValueError: Custom tiles must have an attribution.

添加图块集的两种方式:

  1. 直接解决常见问题(链接 2):

    from xyzservices.lib import TileProvider
    
    provider = TileProvider.from_qms("OpenTopoMap")
    folium.TileLayer(provider).add_to(m)

  1. 导入一个,包括 url 和 attr(链接 1):

    import xyzservices.providers as xyz
    
    providers = xyz.flatten()
    
    selection = ['CartoDB.Positron',
                 'CartoDB.Voyager'
                 ]

    for tiles_name in selection:
        tiles = providers[tiles_name]
        folium.TileLayer(
            tiles=tiles.build_url(),
            attr=tiles.html_attribution,
            name=tiles.name,
        ).add_to(m)

    folium.LayerControl().add_to(m)

或者手动使用自定义的(链接2):


    from xyzservices.lib import TileProvider
    
    public_provider = TileProvider(
        name="My public tiles",
        url="https://myserver.com/tiles/{z}/{x}/{y}.png",
        attribution="(C) xyzservices",
    )
    folium.TileLayer(public_provider).add_to(m)

链接:

https://xyzservices.readthedocs.io/en/latest/introduction.html https://xyzservices.readthedocs.io/en/latest/api.html#xyzservices.TileProvider

雄蕊地图不再免费使用:不要使用它们,因此它们故意变成块状

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