vue3+Cesium 视角卫星以及时间轴初始化

视角飞行

const fly = (lon, lat, height) => {
	viewer.camera.flyTo({
		// 从以度为单位的经度和纬度值返回笛卡尔3位置。
		destination: Cesium.Cartesian3.fromDegrees(lon, lat, height),
		orientation: {
			// heading:默认方向为正北,正角度为向东旋转,即水平旋转,也叫偏航角。
			// pitch:默认角度为-90,即朝向地面,正角度在平面之上,负角度为平面下,即上下旋转,也叫俯仰角。
			// roll:默认旋转角度为0,左右旋转,正角度向右,负角度向左,也叫翻滚角
			heading: Cesium.Math.toRadians(0.0), // 正东,默认北
			pitch: Cesium.Math.toRadians(-90), // 向正下方看
			roll: 0.0, // 左右
		},
		duration: 1, // 飞行时间(s)
	})
}

fly (lon, lat, height + 10050000)

时间轴初始化

window.viewer = new Cesium.Viewer('cesium-container', {
homeButton: true,
		sceneModePicker: true, // 23D切换
		baseLayerPicker: false, // 影像切换
		animation: true, // 是否显示动画控件
		infoBox: false, // 是否显示点击要素之后显示的信息
		selectionIndicator: true, // 要素选中框
		geocoder: false, // 是否显示地名查找控件
		timeline: true, // 是否显示时间线控件
		fullscreenButton: false, //全屏

})
//初始化时间轴
	Cesium.Timeline.prototype.makeLabel = CesiumDateTimeFormatter;
	viewer.animation.viewModel.dateFormatter = CesiumDateFormatter;
	viewer.animation.viewModel.timeFormatter = CesiumTimeFormatter;

const CesiumTimeFormatter = (datetime, viewModel) => {
	var julianDT = new Cesium.JulianDate();
	Cesium.JulianDate.addHours(datetime, 8, julianDT);
	var gregorianDT = Cesium.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时钟日期格式化函数
const CesiumDateFormatter = (datetime, viewModel, ignoredate) => {
	var julianDT = new Cesium.JulianDate();
	Cesium.JulianDate.addHours(datetime, 8, julianDT);
	var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT);

	return `${gregorianDT.year}年${gregorianDT.month}月${gregorianDT.day}日`;
};
// cesium时间轴格式化函数
const CesiumDateTimeFormatter = (datetime, viewModel, ignoredate) => {
	var julianDT = new Cesium.JulianDate();
	Cesium.JulianDate.addHours(datetime, 8, julianDT);
	var gregorianDT = Cesium.JulianDate.toGregorianDate(julianDT);
	let hour = gregorianDT.hour + '';
	let minute = gregorianDT.minute + '';
	return `${gregorianDT.day}日${hour.padStart(2, '0')}:${minute.padStart(2, '0')}`;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值