初始化
约 696 字大约 2 分钟
2025-10-21
初始化
Cesium.Context.memoryThreshold = 8;
//设置GPU内存阈值为8MB,当GPU内存使用超过这个阈值时,Cesium将开始执行一些优化策略,以降低内存使用并提高性能。
//地图将被嵌入到具有ID为machineMap的DOM元素中
window.machineMap = new Cesium.Viewer('machineMap', {
shadows: true, //确定阴影是否由太阳投射形成。
sceneModePicker: false, //获取场景模式拾取器(SceneModePicker)对象。
infoBox: false, //获取信息框(InfoBox)对象。
shouldAnimate: true,
skyAtmosphere: false, //环绕地球边缘的蓝天和光晕效果,设置为false可将其关闭。
selectionIndicator: false, //获取选择指示符(SelectionIndicator)对象。
navigation: true, //获取导航帮助按钮(NavigationHelpButton)对象。
skyBox: new Cesium.SkyBox({
//用于渲染星辰的天空盒,未定义时,使用默认星辰效果。
sources: {
positiveX: require('@/assets/img/lt/rightav9.jpg'),
negativeX: require('@/assets/img/lt/leftav9.jpg'),
positiveY: require('@/assets/img/lt/frontav9.jpg'),
negativeY: require('@/assets/img/lt/backav9.jpg'),
positiveZ: require('@/assets/img/lt/topav9.jpg'),
negativeZ: require('@/assets/img/lt/bottomav9.jpg'),
},
}),
});
let scene = window.machineMap.scene; //获取场景(scene)对象,包含了地图中的三维场景元素和功能
let widget = window.machineMap.cesiumWidget; //获取CesiumWidget对象,用于渲染地图的核心部分
let credit = window.machineMap.scene.frameState.creditDisplay; //用于显示地图上的信用标识的对象
credit.container.remove(credit._imageContainer); //从信用标识容器中移除了图像容器,通常是地图底部显示的Cesium图标和文本,即去掉cesium水印
try {
console.log('开启无人机地图');
// 设置相机位置,定位至模型
scene.camera.setView({
// 将经度、纬度、高度的坐标转换为笛卡尔坐标
destination: Cesium.Cartesian3.fromDegrees(116.773446, 23.471069, 4632),
orientation: {
heading: 0.29510551037694466, // 相机的方向,单位是弧度,默认朝北
pitch: -0.677166982317591, // 相机的俯仰角度,单位是弧度,默认是朝下
roll: 6.283185307179586, // 相机的滚动角度,单位是弧度,默认是0
},
});
} catch (e) {
if (widget._showRenderLoopErrors) {
var title = '渲染时发生错误,已停止渲染。';
widget.showErrorPanel(title, undefined, e);
}
}Viewer设置
window.machineMap = new Cesium.Viewer("machineMap", {
shadows: true, //确定阴影是否由太阳投射形成。
sceneModePicker: false, //获取场景模式拾取器(SceneModePicker)对象。
infoBox: false, //获取信息框(InfoBox)对象。
shouldAnimate: true,
skyAtmosphere: false, //环绕地球边缘的蓝天和光晕效果,设置为false可将其关闭。
selectionIndicator: false, //获取选择指示符(SelectionIndicator)对象。
navigation: true, //获取导航帮助按钮(NavigationHelpButton)对象。
skyBox: new Cesium.SkyBox({
//用于渲染星辰的天空盒,未定义时,使用默认星辰效果。
sources: {
positiveX: require("@/assets/img/lt/rightav9.jpg"),
negativeX: require("@/assets/img/lt/leftav9.jpg"),
positiveY: require("@/assets/img/lt/frontav9.jpg"),
negativeY: require("@/assets/img/lt/backav9.jpg"),
positiveZ: require("@/assets/img/lt/topav9.jpg"),
negativeZ: require("@/assets/img/lt/bottomav9.jpg"),
},
}),
});相机设置
scene.camera.setView({
// 将经度、纬度、高度的坐标转换为笛卡尔坐标
destination: Cesium.Cartesian3.fromDegrees(116.773446, 23.471069, 4632),
orientation: {
heading: 0.29510551037694466, // 相机的方向,单位是弧度,默认朝北
pitch: -0.677166982317591, // 相机的俯仰角度,单位是弧度,默认是朝下
roll: 6.283185307179586, // 相机的滚动角度,单位是弧度,默认是0
},
});