Cesium时钟动画结束后模型显示问题及实时车辆轨迹回放需求
Cesium轨迹回放:解决模型消失、播放不连续问题
一、动画结束模型消失的原因及解决
你代码里用SampledPositionProperty存储轨迹点,但如果车辆实体绑定这个属性作为位置,时钟走到最后一个采样点后,SampledPositionProperty默认不会返回位置,导致实体消失。当前代码只添加了固定位置的蓝色轨迹点,这些点不会消失,推测你实际有绑定3D模型的实体但没贴出来。
修复步骤:
- 给位置属性设置外推规则
让SampledPositionProperty在超出采样时间后保持最后一个位置:
const positionProperty = new Cesium.SampledPositionProperty(); // 线性插值让轨迹移动更平滑 positionProperty.setInterpolationOptions({ interpolationDegree: 1, interpolationAlgorithm: Cesium.LinearApproximation }); // 开启向前外推,永久保持最后位置 positionProperty.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD; positionProperty.forwardExtrapolationDuration = Number.POSITIVE_INFINITY;
- 给车辆实体设置足够长的可用时间
如果创建了车辆模型实体,确保它的availability覆盖回放和等待数据的时段:
const vehicle = viewer.entities.add({ position: positionProperty, model: { uri: '你的车辆模型路径.glb' }, availability: new Cesium.TimeIntervalCollection([ new Cesium.TimeInterval({ start: start, // 设一个足够长的结束时间,或后续动态更新 stop: Cesium.JulianDate.addHours(start, 24, new Cesium.JulianDate()) }) ]) });
二、实现实时回放+等待数据时模型持续显示
1. 动态添加实时数据
如果是实时获取轨迹数据,新数据到来时动态添加到positionProperty,同时更新时钟结束时间:
// 实时数据回调示例 function addNewTrackPoint(newData) { const time = Cesium.JulianDate.fromIso8601(newData.time); const position = Cesium.Cartesian3.fromDegrees( newData.longitude, newData.latitude, newData.height ); positionProperty.addSample(time, position); // 更新时钟结束时间,让动画能继续播放到新数据时间 viewer.clock.stopTime = time.clone(); viewer.timeline.zoomTo(start, viewer.clock.stopTime); }
2. 优化播放连续性
- 用线性插值(
LinearApproximation)减少轨迹跳变,避免播放卡顿; - 确保
flightData的时间戳是连续递增的,避免时间顺序混乱导致跳帧; - 如果数据间隔过大,可适当降低
viewer.clock.multiplier,或补全中间位置数据。
三、修正现有代码的细节问题
你当前手动设置的start和stop可能和实际数据时间不匹配,建议用数据本身的时间计算:
const start = Cesium.JulianDate.fromIso8601(flightData[0].time); const totalSeconds = timeStepInSeconds * (flightData.length - 1); const stop = Cesium.JulianDate.addSeconds(start, totalSeconds, new Cesium.JulianDate()); viewer.clock.startTime = start.clone(); viewer.clock.stopTime = stop.clone(); viewer.timeline.zoomTo(start, stop);
内容的提问来源于stack exchange,提问作者acgzyy
相关产品推荐
相关产品推荐

