你不能轻易地从叶中做到这一点。但由于 folium 确实创建了 LeafletJS 代码,您可以修改输出以使其工作。为此,您必须在生成的 html 中添加此答案中所述的代码:
marker.bindPopup("Popup content");
marker.on('mouseover', function (e) {
this.openPopup();
});
marker.on('mouseout', function (e) {
this.closePopup();
});
如果你有很多标记,这可能会成为一项艰巨的任务,但你可以通过 python 来完成(虽然它看起来不漂亮)。伪代码:
import re
with open("map.html") as inf:
txt = inf.read()
#Find all the markers names given by folium
markers = re.findall(r'\bmarker_\w+', txt)
for marker in markers:
# Add the code given before to the string txt
# Save the new map
with open("new_map.html", "w") as outf:
outf.write(txt)
此代码打开生成的 html 文件,找到所有标记,并为每个标记添加代码。