cesium new Cesium.Timeline

手动创建timeline clock,用于时间控制播放

在这里插入图片描述

  • 具体代码
const startTime = Cesium.JulianDate.addHours(
  new Date('2023-12-01'),
  8,
  new Cesium.JulianDate()
);
const stopTime = Cesium.JulianDate.addHours(
  new Date('2023-12-02'),
  8,
  new Cesium.JulianDate()
);
const clock = new Cesium.Clock({
  startTime,
  currentTime: startTime.clone(),
  stopTime,
  canAnimate: true,
  multiplier: 1000,
  shouldAnimate: false,
  clockRange: Cesium.ClockRange.LOOP_STOP,
  clockStep: Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER,
});

const timeline = new Cesium.Timeline(
  document.querySelector("#time"),
  clock
);
timeline.makeLabel = function (date) {
  let { hour, day, month } = Cesium.JulianDate.toGregorianDate(date);
  return `${day}${hour}`; //特定位置
};
timeline.zoomTo(startTime, stopTime);

timeline.addEventListener(
  "settime",
  (e) => {
    const clock = e.clock;
    clock.currentTime = e.timeJulian;
    clock.shouldAnimate = false;
  },
  false
);

clock.onTick.addEventListener((tick) => {
   let gregorianDate = Cesium.JulianDate.toGregorianDate(tick.currentTime);
   if (gregorianDate.minute !== this.currentTime) {
     this.currentTime = gregorianDate.minute;
     this.chartIns?.setOption({
       series: [{ name: "x", data: this.getData() }],
     });
   }
 });

clock.shouldAnimate = true;
const render = () => {
  clock.tick();
  requestAnimationFrame(render);
};

requestAnimationFrame(render);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值