我之前用过folium,没问题。
然而,今天我使用它,发现0.14.0版本没有地图显示。
我在 0.15.0 版本中遇到如下错误:(ValueError:自定义图块必须有属性。)
没有图块,我可以看到地图,但是,我不能使用特定的图块。
我该如何解决这个问题?
我遇到了同样的问题。
旧的编码方式:
folium.TileLayer('Stamen Terrain').add_to(m)
抛出错误:
raise ValueError("Custom tiles must have an attribution.")
ValueError: Custom tiles must have an attribution.
添加图块集的两种方式:
from xyzservices.lib import TileProvider
provider = TileProvider.from_qms("OpenTopoMap")
folium.TileLayer(provider).add_to(m)
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
雄蕊地图不再免费使用:不要使用它们,因此它们故意变成块状