TrackLine

车辆轨迹动画图层,承载单条轨迹的本地回放,适合轨迹播放/巡航展示。

几何类型支持 LineString。推进播放只改 uniform、不重建顶点,长轨迹也能满帧跑。 支持痕迹分色、序列箭头、渐变色、变速播放、自动跟随视野与车辆图标。

构造函数

  • 创建轨迹图层

    参数类型说明
    options 可选TrackLineOptions配置项
    属性类型说明
    autoFollowboolean是否让地图视野自动跟随车辆
    autoStartbooleansetData 后是否自动开始播放
    dataany初始数据,同 TrackLine.setData 的入参
    durationnumber播放总时长(秒)
    followOptionsTrackLineFollowOptions跟随细节,见 TrackLineFollowOptions
    idKeystring取要素 id 的字段名
    isLinearbooleantrue 时线色沿轨迹按 linearTexture 渐变(覆盖 strokeColor)
    linearTexture[number, string][]渐变色标 [[位置0~1, css 颜色], ...],如 [[0, 'green'], [1, 'red']]
    lineVisibleboolean整条线是否可见,false 时只留车辆图标
    maxZoomnumber最大显示缩放等级
    minZoomnumber最小显示缩放等级
    movePointboolean | GroundPoint | Marker | TrackLineMovePointOptions车辆图标:false 不创建;对象按 TrackLineMovePointOptions 创建; 也可直接传已构造的 GroundPoint / Marker 实例
    opacitynumber图层级透明度 [0,1]
    passedColorstring | false已走过路段颜色。css 色染色 / null 跟随主线色 / 'none' / 'transparent' / alpha 为 0 隐藏
    referCenterPoint图层参考中心点,规避大坐标浮点抖动
    renderStageRenderStage绘制阶段,取值见 RenderStage
    speedMode0 | 11 按时间戳变速(还原真实速度);0 匀速
    strokeColorstring线颜色,css 字符串
    strokeLineCap"round" | "butt" | "square"线端点样式
    strokeLineJoin"round" | "miter" | "bevel"拐角连接样式
    strokeTextureColorstring纹理叠加色
    strokeTextureGapnumber相邻纹理间隔(px),仅 strokeTextureSpaced 为 true 时生效
    strokeTextureHeightnumber纹理原图高(px)
    strokeTextureSpacedbooleantrue 按 strokeTextureGap 间隔平铺;false 沿线连续拉伸
    strokeTextureUrlstring纹理图片地址(必须是竖图),空则不启用
    strokeTextureWidthnumber纹理原图宽(px)
    strokeWeightnumber线宽(屏幕 px,全宽)
    timestampKeystring时间戳字段名,properties[timestampKey] 应为与 coordinates 等长的数组;缺失则降级匀速
    upcomingColorstring | false未走过路段颜色,取值同 passedColor;'none' 可做出线随车"生长"的效果
    visibleboolean是否显示
    zIndexnumber显示层级,小的先画

    返回值 TrackLine

    示例代码1

    const track = new BMap.TrackLine({ duration: 30, movePoint: { url: './bus.png' } });
    track.setData({
    type: 'Feature',
    geometry: { type: 'LineString', coordinates: [[116.40, 39.91], [116.42, 39.92]] },
    properties: {}
    });
    map.addLayer(track);
    track.start();

事件

  • 添加事件监听

    参数类型说明
    eventK事件名称
    handler(e: TrackLineEventMap[K]) => void事件处理函数

    返回值 void

  • 移除事件监听

    参数类型说明
    eventK事件名称
    handler(e: TrackLineEventMap[K]) => void事件处理函数

    返回值 void

播放控制

  • 取轨迹总长(墨卡托单位)

    返回值 number

  • 返回值 number

  • 取指定进度处的轨迹信息(不改变播放态)

    参数类型说明
    processnumber[0,1]

    返回值 { angle: number; elapsed: number; point: Point; trace: number }

  • 返回值 number

  • 返回值 number

  • 取实际生效的速度模式(时间戳缺失时会从 1 降级为 0)

    返回值 0 | 1

  • 跳转到指定播放秒数

    参数类型说明
    elapsednumber

    返回值 TrackLine

  • 跳转到指定进度

    参数类型说明
    processnumber[0,1]

    返回值 TrackLine

  • 设为 N 倍速(以初始 duration 为基准,非累乘)

    参数类型说明
    speednumber目标倍速,> 0

    返回值 TrackLine

数据

  • 返回原始数据

    返回值 any

  • 设置数据,支持 FeatureCollection / Feature / Feature[] / 裸 Geometry。 几何类型支持 LineString

    参数类型说明
    geojsonany

    返回值 TrackLine

显示属性

  • 返回值 number

  • 返回值 "building" | "poi"

  • 返回值 boolean

  • 返回值 number

  • 参数类型说明
    opacitynumber

    返回值 void

  • 参数类型说明
    centerPoint

    返回值 void

  • 参数类型说明
    stage"building" | "poi"

    返回值 void

  • 参数类型说明
    visibleboolean

    返回值 void

  • 参数类型说明
    zIndexnumber

    返回值 void

枚举

播放状态枚举

状态码到名称的映射数组(下标即状态码)

样式

  • 批量更新配置/样式

    参数类型说明
    optionsTrackLineOptions
    属性类型说明
    autoFollowboolean是否让地图视野自动跟随车辆
    autoStartbooleansetData 后是否自动开始播放
    dataany初始数据,同 TrackLine.setData 的入参
    durationnumber播放总时长(秒)
    followOptionsTrackLineFollowOptions跟随细节,见 TrackLineFollowOptions
    idKeystring取要素 id 的字段名
    isLinearbooleantrue 时线色沿轨迹按 linearTexture 渐变(覆盖 strokeColor)
    linearTexture[number, string][]渐变色标 [[位置0~1, css 颜色], ...],如 [[0, 'green'], [1, 'red']]
    lineVisibleboolean整条线是否可见,false 时只留车辆图标
    maxZoomnumber最大显示缩放等级
    minZoomnumber最小显示缩放等级
    movePointboolean | GroundPoint | Marker | TrackLineMovePointOptions车辆图标:false 不创建;对象按 TrackLineMovePointOptions 创建; 也可直接传已构造的 GroundPoint / Marker 实例
    opacitynumber图层级透明度 [0,1]
    passedColorstring | false已走过路段颜色。css 色染色 / null 跟随主线色 / 'none' / 'transparent' / alpha 为 0 隐藏
    referCenterPoint图层参考中心点,规避大坐标浮点抖动
    renderStageRenderStage绘制阶段,取值见 RenderStage
    speedMode0 | 11 按时间戳变速(还原真实速度);0 匀速
    strokeColorstring线颜色,css 字符串
    strokeLineCap"round" | "butt" | "square"线端点样式
    strokeLineJoin"round" | "miter" | "bevel"拐角连接样式
    strokeTextureColorstring纹理叠加色
    strokeTextureGapnumber相邻纹理间隔(px),仅 strokeTextureSpaced 为 true 时生效
    strokeTextureHeightnumber纹理原图高(px)
    strokeTextureSpacedbooleantrue 按 strokeTextureGap 间隔平铺;false 沿线连续拉伸
    strokeTextureUrlstring纹理图片地址(必须是竖图),空则不启用
    strokeTextureWidthnumber纹理原图宽(px)
    strokeWeightnumber线宽(屏幕 px,全宽)
    timestampKeystring时间戳字段名,properties[timestampKey] 应为与 coordinates 等长的数组;缺失则降级匀速
    upcomingColorstring | false未走过路段颜色,取值同 passedColor;'none' 可做出线随车"生长"的效果
    visibleboolean是否显示
    zIndexnumber显示层级,小的先画

    返回值 TrackLine

跟随视野

  • 返回值 boolean

  • 开关自动跟随视野

    参数类型说明
    enableboolean

    返回值 TrackLine

  • 增量修改跟随参数(未传字段保持原值)

    参数类型说明
    optsTrackLineFollowOptions
    属性类型说明
    fixedLookAtbooleantrue 旋转地图让车头恒指向 lookAt;false 只跟随位置、不转地图
    idleTimeoutnumber用户手势后暂停跟随的时长(ms),0 表示不暂停
    lookAtnumber车头在屏幕上的固定朝向(度,0 朝上,顺时针为正)
    minRotationnumber车头与地图朝向夹角小于该值(度)时不旋转,抑制静止抖动
    position[number, number]车辆在屏幕上的锚点,相对地图中心的像素偏移 [x, y](x 右正、y 上正)
    rotationDurationnumber旋转缓动时长(ms),0 表示立即对齐

    返回值 TrackLine

车辆图标