中心思想:使用JulianDate.addHours()方法,将时间+8.
效果:
初始配置:创建viewer时打开时间轴的配置(默认打开),动画配置shouleAnimate为true。
// timeline: false,
// animation: false,
shouldAnimate: true,
代码:
// cesium时钟时间格式化函数
function CesiumTimeFormatter(datetime, viewModel) {
var julianDT = new JulianDate();
JulianDate.addHours(datetime, 8, julianDT);
var gregorianDT = JulianDate.toGregorianDate(julianDT);
let hour = gregorianDT.hour + "";
let minute = gregorianDT.minute + "";
let second = gregorianDT.second + "";
return `${hour.padStart(2, "0")}:${minute.padStart(2, "0")}:${second.padStart(2, "0")}`;
}
// cesium时钟日期格式化函数
function CesiumDateFormatter(datetime, viewModel, ignoredate) {
var julianDT = new JulianDate();
JulianDate.addHours(datetime, 8, julianDT);
var gregorianDT = JulianDate.toGregorianDate(julianDT);
return `${gregorianDT.year}年${gregorianDT.month}月${gregorianDT.day}日`;
}
// cesium时间轴格式化函数
function CesiumDateTimeFormatter(datetime, viewModel, ignoredate) {
var julianDT = new JulianDate();
JulianDate.addHours(datetime, 8, julianDT);
var gregorianDT = JulianDate.toGregorianDate(julianDT);
let hour = gregorianDT.hour + "";
let minute = gregorianDT.minute + "";
return `${gregorianDT.day}日${hour.padStart(2, "0")}:${minute.padStart(2, "0")}`;
}
Cesium.Timeline.prototype.makeLabel = CesiumDateTimeFormatter;
viewer.animation.viewModel.dateFormatter = CesiumDateFormatter;
viewer.animation.viewModel.timeFormatter = CesiumTimeFormatter;