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

如何实现Folium中Marker鼠标悬停弹出Popup而非点击触发?

如何让Folium的Marker在鼠标悬停时弹出Popup而非点击?

我使用Folium生成了带有Marker弹窗(popup)的地图,代码如下:

m = folium.Map(location=[45.5236, -122.6750], tiles='Stamen Toner', zoom_start=13)
folium.Marker(location=[45.5244, -122.6699], popup='The Waterfront').add_to(m)
m.save('portland.html')
m

请问能否实现Folium中Marker在鼠标悬停时弹出Popup,而非点击触发?


当然可以实现!Folium本身就提供了悬停触发的提示功能,不用额外折腾复杂的JS(除非你需要自定义到极致),下面给你两种常用的实现方式:

1. 简单文本悬停提示(快速修改)

直接把原代码里的popup参数替换成tooltip即可,tooltip默认就是鼠标悬停触发显示:

m = folium.Map(location=[45.5236, -122.6750], tiles='Stamen Toner', zoom_start=13)
# 替换popup为tooltip,鼠标悬停时显示文本
folium.Marker(location=[45.5244, -122.6699], tooltip='The Waterfront').add_to(m)
m.save('portland.html')
m

2. 自定义样式的悬停提示(支持HTML)

如果需要更美观的提示框(比如添加样式、HTML内容),可以使用folium.Tooltip对象来创建自定义tooltip:

m = folium.Map(location=[45.5236, -122.6750], tiles='Stamen Toner', zoom_start=13)
# 创建带HTML内容和自定义样式的tooltip
custom_tooltip = folium.Tooltip(
    '<b>The Waterfront</b><br>Portland, Oregon',
    style='background-color: #f0f8ff; color: #333; padding: 8px; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);'
)
folium.Marker(location=[45.5244, -122.6699], tooltip=custom_tooltip).add_to(m)
m.save('portland.html')
m

额外说明

  • 原代码中的popup是绑定点击事件触发的弹窗,而tooltip是绑定鼠标悬停事件的提示,两者可以同时设置(即同时有点击弹窗和悬停提示),互不冲突。
  • 如果需要更复杂的交互(比如悬停显示复杂弹窗),可以结合Folium的Popup对象和自定义JavaScript,但对于大多数需求来说,tooltip完全够用。

内容的提问来源于stack exchange,提问作者Duc Vu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:22:50