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

react-map-gl绘制基础多边形失败 代码问题排查

代码错误说明
  • GeoJSON几何类型配置错误:fill是react-map-gl图层的渲染类型,不属于GeoJSON标准几何类型,面状要素的几何类型需设置为Polygon。
  • Polygon坐标格式不符合规范:GeoJSON中Polygon类型的坐标要求为三维嵌套数组,结构为[外环坐标数组, 可选的内环/洞坐标数组...],当前代码传入的是二维数组;同时多边形外环必须闭合,坐标序列最后一个点需要与第一个点坐标完全一致。
  • 数据源与图层绑定失效:Source组件的id为polylineLayer,但Layer组件的source属性填写为my-data,图层无法关联到对应数据源,无法触发渲染。
  • 组件ID冲突:Source与Layer使用了完全相同的id值,会引发react-map-gl内部资源注册异常,需为二者设置独立唯一的id。
修正后可运行代码
<Source 
  id="polygonSource" 
  type="geojson" 
  data={{
    type: "Feature",
    properties: {},
    geometry: {
      type: "Polygon",
      coordinates: [
        [
          [72.5497762170623, 31.758420926179284], 
          [75.71927578293769, 31.758420926179284],
          [75.6761122711823, 29.06347507382072], 
          [72.59293972881768, 29.06347507382072],
          // 闭合多边形,回到起始点
          [72.5497762170623, 31.758420926179284]
        ]
      ]
    }
  }}
>
  <Layer
    id="polygonFillLayer"
    type="fill"
    source="polygonSource"
    paint={{
      'fill-color': '#FFAA01',
      'fill-opacity': 0.5
    }}
  />
</Source>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:27:09