cesium Clock JulianDate 日照分析 修改当前时间为北京时间

  • cesium在初始化的时候会自动把Clock对象挂载到容器上
  • Clock内部以JulianDate维护时间,比北京时间慢8个小时,想显示北京时间需要计算时差
  • JulianDate的日期部分和秒数部分是分开的

  •  julianDayNumber:指整数天,记录从公元前4713年正午以来的天数
  •  secondsOfDay:指这一天过了多少秒
  • timeStandard:指所用时间的标准,主要有两种:Cesium.TimeStandard.TAI(国际原子时间标准)和Cesium.TimeStandard.UTC(默认,协调世界时时间标准,这和JS中的时间标准是一样的)

修改当前时间为北京时间

viewer.clock.currentTime = Cesium.JulianDate.addHours(Cesium.JulianDate.now(), 8, new Cesium.JulianDate());

日照分析

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;
            }
        }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值