- cesium在初始化的时候会自动把Clock对象挂载到容器上
- Clock内部以JulianDate维护时间,比北京时间慢8个小时,想显示北京时间需要计算时差
- JulianDate的日期部分和秒数部分是分开的
- julianDayNumber:指整数天,记录从公元前4713年正午以来的天数
- secondsOfDay:指这一天过了多少秒
- timeStandard:指所用时间的标准,主要有两种:Cesium.TimeStandard.TAI(国际原子时间标准)和Cesium.TimeStandard.UTC(默认,协调世界时时间标准,这和JS中的时间标准是一样的)
日照分析
1、开启阴影
2、改变当前时间
let inter = null;
function start() {
viewer.scene.globe.enableLighting = true;
viewer.shadows = true;
viewer.terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY;
viewer.shadowMap.darkness = 0.4; //阴影透明度--越大越透明
let time = 0
inter = setInterval(() => {
let date = new Date().getTime() + time;
let utc = Cesium.JulianDate.fromDate(new Date(date));
viewer.clockViewModel.currentTime = Cesium.JulianDate.addHours(
utc,
0,
new Cesium.JulianDate()
);
time = time + 1000 * 60;
}, 0);
}
function stop() {
viewer.scene.globe.enableLighting = false;
viewer.shadows = false;
viewer.terrainShadows = Cesium.ShadowMode.DISABLED;
if (inter) {
clearInterval(inter);
inter = null;
}
}