Skip to content

FlowLineLayer 流动线图层 ​

FlowLineLayer 使用 PolylineGeometry 和自定义流动材质,在线路上呈现沿坐标方向移动的渐变光段。支持普通流动和增强脉冲,适用于交通线路、管网流向与数据传输路径。

组件案例 ​

构造函数 ​

new MapLayers.FlowLineLayer(viewer, config)

字段类型默认值作用
typestring'flow''flow' 普通流动,'enhanced' 增加脉冲和边缘发光
colorCSS 颜色或 Cesium.Color'#b5ff33'线路颜色
widthnumber3线宽,单位为像素
opacitynumber0.8透明度,范围 0–1,与颜色自身的 alpha 相乘
speednumber5流动速度;正值沿坐标顺序流动,负值反向,0 停止
percentnumber0.15光段占整条线路的比例,范围 0.001–1
gradientnumber0.4尾部渐变长度占光段的比例,范围 0.001–1
pulsenumber0.5增强模式的脉冲频率,0 关闭脉冲
backgroundAlphanumber0.8非光段部分的相对透明度,范围 0–1,0 隐藏底线
brightnessnumber1整体自发光亮度倍率,范围 0–10
glowStrengthnumber1.5移动光段的额外发光强度,范围 0–10,0 关闭额外发光
glowColorCSS 颜色或 Cesium.Color'#00e7ff'移动光段的发光颜色,颜色 alpha 控制额外发光量
heightnumber0未提供顶点高度时使用的海拔高度,单位为米
autoStartbooleantrue加载线路后是否自动播放
allowPickingbooleantrue是否允许拾取线路

数据格式 ​

使用 SDK 的 线数据规范,支持 LineString 和 MultiLineString。顶点坐标为 [经度, 纬度, 高度?],properties 可覆盖构造配置中的样式字段;autoStart 为整个图层的播放设置。

js
import { MapLayers } from 'b-map-viewer'

const layer = new MapLayers.FlowLineLayer(viewer, {
  type: 'enhanced',
  color: '#0099ff',
  width: 5,
  speed: 5,
  percent: 0.22,
  gradient: 0.7,
  backgroundAlpha: 0.8,
  brightness: 1.15,
  glowStrength: 2,
  glowColor: '#00e7ff',
  height: 8,
})

layer.setData([
  {
    geometry: {
      type: 'LineString',
      coordinates: [[125.815, 44.154], [125.828, 44.147], [125.839, 44.151]],
    },
    properties: { id: 'flow-a', name: '输送线路' },
  },
  {
    geometry: {
      type: 'MultiLineString',
      coordinates: [
        [[125.821, 44.139], [125.833, 44.144], [125.848, 44.156]],
        [[125.833, 44.144], [125.840, 44.138]],
      ],
    },
    properties: { id: 'flow-b', color: '#ffd46b', speed: -4, type: 'flow' },
  },
])

layer.setOptions({ percent: 0.3, opacity: 0.7 })

方法 ​

方法作用
setData(features)替换全部线路,返回图层实例
addLayer(feature)添加一项线数据,返回对应 Cesium.Primitive
setOptions(options)更新全局配置;数据中单独设置的字段优先
getLayerById(id)获取对应 Primitive
getLayerDataById(id)获取对应原始数据
removeLayer(primitive) / removeLayerById(id)移除指定线路
start() / stop()播放或暂停流动,暂停时保留当前位置
show() / hide()显示或隐藏全部线路
clearLayer()清空线路并释放渲染监听和动画定时器
destroy()清理线路、动画资源和 Viewer 引用

流动速度按实际时间计算。speed: 5 约每 3.33 秒完成一个周期。颜色、速度及渐变参数通过材质更新,线宽和默认高度变化时会重建线几何。线路使用绝对海拔高度;需要展示在地形上方时,应提供对应的顶点高度。

基于 Apache-2.0 许可发布