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

如何让folium.features.GeoJson绘制圆形而非图标?报错咨询

问题解决步骤
  • 修复语法错误
    你的代码存在括号与逗号的语法错误,marker='Circle'被错误地放在了GeoJson构造函数的括号外侧,且多了一个多余的逗号,导致参数传递异常。

  • 明确marker参数的适用范围
    folium.features.GeoJson的marker参数仅对GeoJSON点要素生效,你当前传入的是多边形几何对象,多边形不需要标记类参数,这才是报错的核心原因——多边形要素不支持设置marker,只有点要素才需要指定标记类型。


修正后的代码

location = (-33, 200)
m = folium.Map(location=location, zoom_start=8, tiles='openstreetmap', control_scale=True, prefer_canvas=True)

# 移除多边形不需要的marker参数,修正语法结构
polygons_gjson = folium.features.GeoJson(
    clean_cycle_points_sf.loc[clean_cycle_points_sf.site_name == 'random', 'geometry'], 
    style_function=lambda x: {
        'weight': 1,
        'color': palette[id],
        'fillOpacity': 0.7
    }, 
    name='Paddocks delivering to: random'
)
polygons_gjson.add_to(m)

m

若需处理点要素(补充说明)

如果你的数据包含点要素需要添加标记,需单独创建GeoJson图层处理点数据:

# 示例:处理点要素并指定标记
points_gjson = folium.features.GeoJson(
    your_point_geodata,
    marker=folium.Circle(radius=5, color='red'),  # 仅点要素适用marker参数
    name='Sample Points'
)
points_gjson.add_to(m)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:06:27