效果图:
初始化三维球后,追加如下代码
// 修改timeline时间 从珠联时间改为北京时间
initGlobel(){
// 省略初始化.....
this.viewer.animation.viewModel.dateFormatter = this.DateTimeFormatter
this.viewer.animation.viewModel.timeFormatter = this.TimeFormatter
this.viewer.timeline.makeLabel = this.DateTimeFormatter
},
// Date formatting to a global form
DateTimeFormatter(datetime, viewModel, ignoredate) {
var julianDT = new Cesium.JulianDate()
Cesium.JulianDate.addHours(datetime, 8, julianDT)
var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT)
var objDT
if (ignoredate)
objDT = ''
else {
objDT = new Date(gregorianDT.year, gregorianDT.month - 1, gregorianDT.day)
objDT = gregorianDT.year + '年' + objDT.toLocaleString('zh-cn', { month: 'short' }) + gregorianDT.day + '日'
if (viewModel || gregorianDT.hour + gregorianDT.minute === 0)
return objDT
objDT += ' '
}
return objDT + Cesium.sprintf('%02d:%02d:%02d', gregorianDT.hour, gregorianDT.minute, gregorianDT.second)
},
TimeFormatter (time, viewModel) {
return this.DateTimeFormatter(time, viewModel, true)
},
加上这段代码直接timeline直接就变成了需要的,暂未发现参考案例中的问题