12. Circle 圆点图层

4 阅读1分钟

12. Circle 圆点图层

概述

Circle 图层用于渲染点要素为圆形标记,适合散点图和数据驱动的可视化。本节学习:

  • Circle 图层的基本用法
  • circle-radius / circle-color / circle-stroke-* 属性
  • 数据驱动样式(按属性映射大小/颜色)

基本用法

map.addLayer({
  id: 'points',
  type: 'circle',
  source: 'my-geojson',
  paint: {
    'circle-radius': 6,
    'circle-color': '#1890ff',
    'circle-stroke-width': 2,
    'circle-stroke-color': '#fff'
  }
})

Paint 属性

属性类型默认值说明
circle-radiusnumber5圆半径(像素)
circle-colorcolor#000000填充颜色
circle-opacitynumber1填充透明度
circle-stroke-widthnumber0描边宽度
circle-stroke-colorcolor#000000描边颜色
circle-stroke-opacitynumber1描边透明度
circle-blurnumber0模糊半径
circle-translate[x, y][0, 0]偏移

数据驱动样式

按属性映射大小

paint: {
  'circle-radius': [
    'interpolate', ['linear'], ['get', 'magnitude'],
    1, 3,    // magnitude=1 → 半径 3px
    5, 15,   // magnitude=5 → 半径 15px
    8, 30    // magnitude=8 → 半径 30px
  ]
}

按属性映射颜色

paint: {
  'circle-color': [
    'match', ['get', 'type'],
    '景点', '#1890ff',
    '公园', '#52c41a',
    '寺庙', '#fa8c16',
    '#999'
  ]
}

分段映射(step)

paint: {
  'circle-color': [
    'step', ['get', 'value'],
    '#52c41a',    // value < 50
    50, '#faad14', // 50 ≤ value < 80
    80, '#f5222d'  // value ≥ 80
  ]
}

本课小结

  • Circle 图层以圆形渲染点要素
  • 支持半径、颜色、描边等属性
  • interpolate 实现连续映射,step 实现分段映射
  • 适合散点分布图、数据可视化

📌 上一节:11. Symbol 符号图层 📌 下一节:13. Heatmap 热力图层