You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Folium中为每条路线添加tooltip?公交路线命名显示异常怎么解决

问题原因

你将所有站点名称组成的列表直接传给了folium.PolyLine的tooltip参数,而PolyLine的tooltip是针对整条折线的全局提示属性,会直接将传入的列表序列化后展示,因此会出现['xxx','yyyy','zzzz']的整串列表格式。

解决方案

分两种常见需求场景对应处理:

场景1:整条线路悬浮时显示统一的线路名称

如果你的Excel表中同一条线路的所有站点对应的第三列(代码中取的df.iloc[i,2])存储的是相同的线路名,直接取列表的第一个元素作为tooltip即可:

# 其他原有代码不变,仅修改PolyLine的tooltip参数
folium.PolyLine(points, color="red", weight=2.5, opacity=1, tooltip=names[0]).add_to(my_map)

注意:如果需要绘制多条线路,要先按线路名称对Excel数据做分组,每组单独生成points对象和对应的PolyLine,不要把所有线路的站点合并到同一个points中处理。


场景2:悬浮在对应站点位置时显示单个站点的名称

PolyLine本身不支持分段展示不同的tooltip,需要额外给每个站点添加标记元素绑定单独的提示:

# 保留原有绘制线路的代码
folium.PolyLine(points, color="red", weight=2.5, opacity=1).add_to(my_map)

# 新增遍历添加站点标记的代码
for lat, lon, name in zip(points['Latitude'], points['Longitude'], names):
    folium.CircleMarker(
        location=[lat, lon],
        radius=3,
        color="red",
        fill=True,
        fill_color="red",
        tooltip=name
    ).add_to(my_map)

内容的提问来源于stack exchange,提问作者Sami Trabelsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:36:07