Cesium改变animation时间轴时区为UTC+8(北京时间)
- 具体实现代码:
var viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: Cesium.createWorldTerrain(),
baseLayerPicker: false,
shouldAnimate: true,
});
viewer.animation.viewModel.dateFormatter = DateTimeFormatter;
viewer.animation.viewModel.timeFormatter = TimeFormatter;
viewer.timeline.makeLabel = DateTimeFormatter;
function TimeFormatter (time, viewModel) {
return this.DateTimeFormatter(time, viewModel, true);
}
function 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);
}
- 效果图: