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

Jupyter中Folium地图标记命名问题:如何为不同位置设置不同名称?

问题:使用count变量为不同位置设置名称失败的代码错误分析

你尝试用count变量给两个坐标点分别设置“Main Location 1”和“Main Location 2”的弹窗名称,但所有标记都显示同一个名称,代码如下:

import folium as fo
map = fo.Map(location=[29.76,-95.36], zoom_start=6, tiles="Stamen Terrain")
            
for coordinates in [[29.76,-95.36], [29.75,-95.34]]:
    count = 1
    fg.add_child(fo.Marker(location=coordinates, popup=f"Main Location {count}", icon=fo.Icon(color='green')))
    count = count + 1
        
map.add_child(fg)

代码错误点

  • count变量初始化位置错误:每次循环都将count重置为1,导致每次生成标记时count的值都是1,后续的count +=1操作对下一次循环无意义,最终两个标记的弹窗名称都是“Main Location 1”。
  • 未实例化FeatureGroup对象:代码中直接使用fg变量,但没有提前创建folium.FeatureGroup()实例,运行时会触发NameError,提示fg未定义。

修正后的代码

import folium as fo
map = fo.Map(location=[29.76,-95.36], zoom_start=6, tiles="Stamen Terrain")
# 实例化FeatureGroup对象
fg = fo.FeatureGroup(name="Main Locations")
# 将count初始化放在循环外部
count = 1
for coordinates in [[29.76,-95.36], [29.75,-95.34]]:
    fg.add_child(fo.Marker(location=coordinates, popup=f"Main Location {count}", icon=fo.Icon(color='green')))
    count += 1
        
map.add_child(fg)
# 可选:添加图层控制器,方便管理图层
map.add_child(fo.LayerControl())
# 保存地图文件,用于查看效果
map.save("location_map.html")

内容的提问来源于stack exchange,提问作者Alejandro CM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:03:38