标题 Cesium 轨迹回放
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = 0;
viewer.clock.multiplier = 40;
var property = new Cesium.SampledPositionProperty();
track(arr, start, property) {
function computeCirclularFlight() {
for (var i = 0; i < arr.length; i++) {
var time = Cesium.JulianDate.addSeconds(start, i * 1000, new Cesium.JulianDate());
var position = Cesium.Cartesian3.fromDegrees(arr[i][0], arr[i][1], arr[i][2]);
property.addSample(time, position);
}
return property;
}
var position = computeCirclularFlight();
var entity =viewer.entities.add({
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: Cesium.JulianDate.addSeconds(start, 0, new Cesium
.JulianDate()),
stop: Cesium.JulianDate.addSeconds(start, arr.length * 1000, new Cesium
.JulianDate()),
})]),
position: position,
orientation: new Cesium.VelocityOrientationProperty(position),
billboard: {
image: image,
show: true,
eyeOffset: new Cesium.Cartesian3(0.0, 0.0, 0.0),
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
scale: 1.0,
color: Cesium.Color.LIME,
alignedAxis: Cesium.Cartesian3.ZERO,
width: 25,
height: 25
},
path: {
show: true,
width: 3,
resolution: 1,
material: new Cesium.PolylineOutlineMaterialProperty({
color: Cesium.Color.fromAlpha(Cesium.Color.LIGHTSKYBLUE, 0.5),
outlineWidth: 1,
outlineColor: Cesium.Color.red
})
}
});
return entity;
}
self.trackEntity = self.track(poisitions, start, property)
self.trackEntity.position.setInterpolationOptions({
interpolationDegree: 1,
interpolationAlgorithm: Cesium.LinearApproximation
});
viewer.trackedEntity = self.trackEntity;