轨迹
更新时间:2024年11月26日
简介
轨迹插件基于百度地图GL API实现轨迹可视化能力,用于轨迹展示与回放。此插件具备以下能力:
支持本地回放式和在线实时式两种轨迹模式
在线实时式轨迹模式支持设置引导路线
轨迹线提供丰富的样式设置,支持渐变线、生长线等轨迹风格
移动点支持MarkerPoint、GroundPoint、ModelPoint和CustomPoint四种风格设置
支持多条多类型的轨迹线同时展示
提供轨迹线、移动点、引导路线的消息事件
提供基础事件交互能力
类参考
示例代码
1引入
// npm引入 import Track from '@bmapgl-plugin/track'; // CDN引入 <script src="https://unpkg.com/@bmapgl-plugin/track"></script>
2创建轨迹
// 创建地图
const map = new BMapGL.Map('container');
map.centerAndZoom(new BMapGL.Point(116.418, 39.918), 16);
map.enableScrollWheelZoom(true);
// 创建轨迹对象
const track = new Track.View(map);
// 设置轨迹点数据
const trackData: Track.TrackPoint = [];
// 创建回放轨迹线对象
const trackLine = new Track.LocalTrack({
trackPath: trackData
});
// 添加轨迹线对象
track.addTrackLine(trackLine);
// [可选]设置地图追踪轨迹线对象
track.focusTrack(trackLine);
///////// [可选] 设置移动点对象 /////////
const movePoint = new Track.ModelPoint({ point: trackData[0].getPoint() });
movePoint.addEventListener(Track.MapCodes.CLICK,(e:any)=>{
console.log('Track.ModelPoint.click', e);
})
movePoint.addEventListener(Track.MapCodes.MOUSE_OVER,(e:any)=>{
console.log('Track.ModelPoint.MOUSE_OVER', e);
})
movePoint.addEventListener(Track.MapCodes.MOUSE_OUT,(e:any)=>{
console.log('Track.ModelPoint.MOUSE_OUT', e);
})
trackLine.setMovePoint(movePoint);
// [可选]监听事件
trackLine.on(Track.LineCodes.STATUS, (status:Track.StatusCodes) => {
switch (status) {
case Track.StatusCodes.PLAY:
case Track.StatusCodes.RESUME:
break;
case Track.StatusCodes.INIT:
case Track.StatusCodes.PAUSE:
case Track.StatusCodes.STOP:
case Track.StatusCodes.FINISH:
let box = trackRoad.getBBox();
if(box){
let bounds = [new BMapGL.Point(box[0], box[1]), new BMapGL.Point(box[2], box[3])];
map.setViewport(bounds);
}
break;
default:
break;
}
});
没有match的答案?试试对话大模型




