如何处理Cesium Timebar点击事件?获取点击时刻的回调实现
处理Cesium Timebar(Timeline)点击事件并获取时刻
嘿,刚好能帮到你!Cesium里的时间轴组件官方叫Timeline(也就是你说的Timebar),确实支持点击事件监听,不过得用Cesium标准的事件绑定方式,而不是你示例里的直接赋值写法。
下面是具体的实现代码,完全符合你的需求:
// 绑定Timeline的点击事件 viewer.timeline.addEventListener('click', function(event) { // event.time 就是点击对应的JulianDate格式时刻 const clickedJulianDate = event.time; // 如果需要转换成JavaScript原生的Date对象,用这个方法 const clickedDatetime = Cesium.JulianDate.toDate(clickedJulianDate); console.log('点击的时刻(JulianDate):', clickedJulianDate); console.log('点击的时刻(Date对象):', clickedDatetime); });
关键点说明:
- 首先要注意,Cesium的时间轴实例是
viewer.timeline,不是viewer.timebar哦,这是你示例里的小误区。 - 点击事件的回调参数
event里的time属性,就是点击位置对应的JulianDate格式时间,这是Cesium内部常用的时间格式。 - 如果需要更易读的JS原生Date对象,就用
Cesium.JulianDate.toDate()做转换,方便后续处理。
这样就能在点击时间轴时,精准获取到对应的时刻啦,亲测有效!
内容的提问来源于stack exchange,提问作者Sasha Kos
相关产品推荐
相关产品推荐

