Track.RoadLine
轨迹线基类,继承 Track.Track。
构造函数
| 构造函数 | 描述 |
|---|---|
| new Track.RoadLine(option?: Track.trackLineOptions) | 轨迹线基类,继承 Track.Track。 |
Track.trackLineOptions
轨迹线基类参数。
| 参数项 | 类型 | 描述 |
|---|---|---|
| visible | boolean | 【可选】是否可视 |
| gradientColor | number[] | 【可选】渐变颜色设置 |
| style | Track.trackLineStyle | 【可选】轨迹线样式配置 |
| linearTexture | Array<[number,string]> | 【可选】颜色带,如果需要显示渐变色,此项必须设置。 |
| rank | number | 【可选】层级设置 |
| properties | any | 【可选】设置自定义属性 |
Track.trackLineStyle
轨迹线基类线样式参数。
| 参数项 | 类型 | 描述 |
|---|---|---|
| sequence | boolean | 是否采用间隔填充纹理,默认 false |
| marginLength | number | 间隔距离,默认 16,单位像素 |
| borderColor | string | 描边颜色 |
| borderWeight | number | 描边宽度,可以设置负值 |
| strokeTextureUrl | string | 填充纹理图片地址,默认是空。图片需要是竖向表达,在填充时会自动横向处理 |
| strokeTextureWidth | number | 填充纹理图片宽度,需要是 2 的 n 次方 |
| strokeTextureHeight | number | 填充纹理图片长度,需要是 2 的 n 次方 |
| strokeLineJoin | string | 描边线连接处类型,可选 'miter'、'round'、'bevel',默认 miter |
| strokeLineCap | string | 描边线端头类型,可选 'round'、'butt'、'square',默认 round |
| strokeColor | string | 描边线颜色,默认 #dec41b |
| strokeWeight | number | 描边线宽度,默认 0 |
| strokeOpacity | number | 描边线透明度,默认 1 |
| strokeStyle | string | 描边线类型,可选 'solid'、'dashed' 和 'dotted',默认 solid |
| dashArray | array | 描边线虚线设置,默认 [8,4] 表示实线部分长 8 像素,间隙部分长 4 像素 |
| traceDisappear | boolean | 痕迹是否使用消失模式,默认 false。false 代表使用 traceControl 设置颜色 |
| traceStart | boolean | 是否从起点开始处理,否则从终点开始处理痕迹。默认 true |
| traceColor | [number,number,number] | rgb 颜色值,取值范围 0-255 |
属性
| 名称 | 类型 | 描述 |
|---|---|---|
| properties | any | 自定义轨迹线属性,默认 {} |
| visible | boolean | 【get/set】是否显示轨迹线,默认 true |
方法
| 方法 | 返回 | 描述 |
|---|---|---|
| setMovePoint(point: Track.MovePoint) | void | 设置移动点对象 |
| addTrackPoint(point: Track.TrackPoint, isReplace?: boolean) | void | 添加轨迹点对象 |
| getTrackPoints() | Array<Track.TrackPoint> | 获取轨迹对象点序列 |
| clearTrackPoint() | void | 清空轨迹点 |
| setGradientColors(colors: number[]) | void | 统一设置轨迹点颜色 |
| setGradientColor(color: number) | void | 增加轨迹点颜色 |
| getGradientColors() | number[] | 轨迹点颜色序列 |
| getFeature() | GeoJSON.Feature | 获取 GeoJSON 数据 |
| getPoints() | Array<Point> | 获取所有轨迹线地图点 |
| getBBox() | [number,number,number,number]|null | 获取四至范围 |
| getDistance() | number | 获取长度 |
| setProperty(value: any) | void | 设置属性 |
| getProperty() | any | 获取属性 |
| getRotation(index: number, trackPoint?: Track.TrackPoint) | number | 获取旋转角 |
| getUUID() | string | 获取标识 |
| on(type: string, callback: Function) | void | 监听事件 |
| fire(type: string, args: any) | void | 触发事件 |
| off(type: string, callback: Function) | void | 移除事件 |
| setStyle(style: Track.trackLineStyle) | void | 设置轨迹线样式 |
事件
| 事件标识 | 返回数据 | 描述 |
|---|---|---|
| Track.MapCodes.CLICK | any | 点击事件。需要预先注册事件。 |
| Track.MapCodes.MOUSE_OVER | any | 移入事件。需要预先注册事件。 |
| Track.MapCodes.MOUSE_OUT | any | 移出事件。需要预先注册事件。 |
示例
ts
// 创建轨迹线实例
const roadLine = new Track.RoadLine({
// 轨迹线配置
points: [
new BMapGL.Point(116.404, 39.915),
new BMapGL.Point(116.405, 39.916)
],
style: {
sequence: true,
marginLength: 20,
strokeColor: '#ff0000',
strokeWeight: 3,
strokeOpacity: 0.8,
strokeStyle: 'dashed',
dashArray: [10, 5],
traceDisappear: true,
traceStart: true,
traceColor: [255, 0, 0]
}
});
// 设置轨迹线样式
roadLine.setStyle({
strokeColor: '#00ff00',
strokeWeight: 5
});
// 添加到地图
roadLine.addToMap(map);