Commit e22378a3 by jlc

update:车案例的修改

parent e03fa3b8
src/assets/Vehicle.png

422 KB | W: | H:

src/assets/Vehicle.png

231 KB | W: | H:

src/assets/Vehicle.png
src/assets/Vehicle.png
src/assets/Vehicle.png
src/assets/Vehicle.png
  • 2-up
  • Swipe
  • Onion skin
export function addVehicle(viewer) { export function addVehicle(viewer) {
const czml = [ // 定义开始时间
{ let start = Cesium.JulianDate.fromDate(new Date()); // 设置时间轴当前时间为开始时间
id: "document", start = Cesium.JulianDate.addHours(start, 8, new Cesium.JulianDate()); // 开始时间加8小时改为北京时间
name: "Vehicle", let stop = Cesium.JulianDate.addSeconds(start, 400, new Cesium.JulianDate()); // 设置结束时间为开始时间加400秒
version: "1.0",
clock: { viewer.clock.startTime = start.clone(); // 设置时钟开始时间
interval: "2019-08-28T04:00:00Z/2019-08-28T04:20:00Z", viewer.clock.currentTime = start.clone(); // 设置时钟当前时间
currentTime: "2019-08-28T04:00:00.00Z", viewer.clock.stopTime = stop.clone(); // 设置时钟结束时间
multiplier: 1, viewer.clock.multiplier = 10; // 设置时间倍数
range: "LOOP_STOP", viewer.timeline.zoomTo(start, stop); // 时间轴绑定到viewer上去
step: "SYSTEM_CLOCK_MULTIPLIER" viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP; // 循环执行,到达终止时间,重新从起点时间开始
}
}, function computeFlight(source) {
{ var property = new Cesium.SampledPositionProperty();
id: "path", for(var i = 0; i < source.length; i++) {
name: "path for Vehicle", var time = Cesium.JulianDate.addSeconds(start, source[i].time, new Cesium.JulianDate ());
description: "<p>this is a description</p>", var position =Cesium.Cartesian3.fromDegrees(source[i].longitude, source[i].latitude, source[i].height);
availability: "2019-08-28T04:00:00Z/2019-08-28T04:20:00Z", property.addSample(time,position);
path: { }
material: { return property;
polylineOutline: { }
color: {
rgba: [255, 0, 255, 255], let data = [
}, { longitude:108.95847801120208, latitude:34.21765422118126, height: -3.948, time: 0 },
outlineColor: { { longitude:108.95849254781227, latitude:34.21800309998983, height: -3.839, time: 100 },
rgba: [0, 255, 255, 255], { longitude:108.9594164044393, latitude:34.21802855891169, height: -2.579, time: 200 },
},
outlineWidth: 5
},
},
width: 8, // 折线宽度
leadTime: 5,
trailTime: 50000,
resolution: 5,
},
orientation: {
"velocityReference": "#position"
},
model: {
gltf: 'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/CesiumMilkTruck.glb',
minimumPixelSize: 128,
},
position: {
epoch: "2019-08-28T04:00:00.00Z",
cartographicDegrees: [
0, 120, 30, 0,
1200, 121, 30, 0
]
}
},
]; ];
var dataSourcePromise = viewer.dataSources.add(Cesium.CzmlDataSource.load(czml)); let property = computeFlight(data);
dataSourcePromise.then(function (dataSource) { // 添加模型
// 根据模型所在的实体去进行加载 let entityCar = viewer.entities.add({
viewer.trackedEntity = dataSource.entities.getById('path'); id: "car",
}).catch(function (error) { availability: new Cesium.TimeIntervalCollection([ //要添加到集合中的间隔数组
console.error(error); new Cesium.TimeInterval({start: start, stop: stop}),
]),
position: property,
path: {
resolution: 1,
leadTime: 0,
trailTime: 200,
material: new Cesium.PolylineGlowMaterialProperty({
glowPower: 0.1,
color: Cesium.Color.ORANGE
}),
width: 10
},
orientation: new Cesium.VelocityOrientationProperty(property), // 根据速度计算方向角
model: {
uri:'https://raw.githubusercontent.com/jinlinchao123/Cesium-assets/main/3Dmodel/CesiumMilkTruck.glb',
minimumPixelSize: 2,
}
}); });
} viewer.trackedEntity = entityCar; // 视角跟随模型
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment