1
銫在屏幕底部有一個很好的時間線,可以改變當前的天文現象,並根據模型改變模型位置和動畫。它沒有的東西,以及我真正需要的是在任意時間繪製事件的方法。我想從時間00:00:00開始,並從那裏實時前進,然後回到00:00:00。目前,我不關心天文活動,包括太陽和月球活動。該API設置爲接受Julian Time,而不是在某個任意時間設置。是否有可能插入一個任意的時間線來代替正常的時間線?銫中的任意時間軸?
銫在屏幕底部有一個很好的時間線,可以改變當前的天文現象,並根據模型改變模型位置和動畫。它沒有的東西,以及我真正需要的是在任意時間繪製事件的方法。我想從時間00:00:00開始,並從那裏實時前進,然後回到00:00:00。目前,我不關心天文活動,包括太陽和月球活動。該API設置爲接受Julian Time,而不是在某個任意時間設置。是否有可能插入一個任意的時間線來代替正常的時間線?銫中的任意時間軸?
試試看。在內部它仍然使用來自任意日期的JulianDates,但用戶只能看到時間,而不是日期。
var viewer = new Cesium.Viewer('cesiumContainer', {
navigationInstructionsInitiallyVisible: false,
skyBox: false
});
var clock = viewer.clock;
clock.clockRange = Cesium.ClockRange.LOOP_STOP;
clock.startTime = Cesium.JulianDate.fromIso8601('2016-01-01T00:00:00Z');
clock.stopTime = Cesium.JulianDate.fromIso8601('2016-01-01T23:59:59Z');
clock.currentTime = clock.startTime;
function twoDigits(num) {
return ((num < 10) ? ('0' + num.toString()) : num.toString());
}
var animationViewModel = viewer.animation.viewModel;
animationViewModel.dateFormatter = function() { return ''; };
animationViewModel.timeFormatter = function(date, viewModel) {
var gregorianDate = Cesium.JulianDate.toGregorianDate(date);
var millisecond = Math.round(gregorianDate.millisecond);
return Cesium.sprintf("%02d:%02d:%02d.%03d", gregorianDate.hour,
gregorianDate.minute, gregorianDate.second, millisecond);
};
viewer.timeline.makeLabel = function(time) {
var gregorian = Cesium.JulianDate.toGregorianDate(time);
var millisecond = gregorian.millisecond, millisecondString = '';
if ((millisecond > 0) && (this._timeBarSecondsSpan < 3600)) {
millisecondString = Math.floor(millisecond).toString();
while (millisecondString.length < 3) {
millisecondString = '0' + millisecondString;
}
millisecondString = '.' + millisecondString;
}
return twoDigits(gregorian.hour) + ':' + twoDigits(gregorian.minute) + ':' +
twoDigits(gregorian.second) + millisecondString;
};
viewer.timeline.updateFromClock();
viewer.timeline.zoomTo(clock.startTime, clock.stopTime);
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
font-family: sans-serif;
}
<link href="http://cesiumjs.org/releases/1.18/Build/Cesium/Widgets/widgets.css"
rel="stylesheet"/>
<script src="http://cesiumjs.org/releases/1.18/Build/Cesium/Cesium.js">
</script>
<div id="cesiumContainer"></div>