cesium相机

相机的视角主要属性有两个, destination 相机位置 和 orientation 相机的方位

视角飞入 flyTo

javascript 复制代码
// 经纬度
viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(109.78, 28.36, 50000000),
});


// 矩形窗口  
viewer.camera.flyTo({
    destination:  Cesium.Rectangle.fromDegrees(110, 32, 112, 38),
});

视角修改 没有飞入动画 setView

javascript 复制代码
// 支持经纬高  同时可以设置 偏航heading 俯仰pitch   滚转roll  单位都是弧度
viewer.camera.setView({  
    destination : Cesium.Cartesian3.fromDegrees(110, 35, 5000000),  
    orientation: {  
        heading : 0.0,  
        pitch : -Cesium.Math.PI_OVER_TWO,  
        roll : 0.0  
    }  
});

// 同样支持矩形视角
viewer.camera.setView({  
    destination : Cesium.Rectangle.fromDegrees(west, south, east, north),,  
    orientation: {  
        heading : 0.0,  
        pitch : -Cesium.Math.PI_OVER_TWO,  
        roll : 0.0  
    }  
});

HeadingPitchRoll可以通过以 diretion、up的方式进行展示如图

javascript 复制代码
// direction 和 up 
viewer.camera.setView({
    destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),  // 相机的位置
    orientation : {
         //相机视线方向矢量(WGS84系下)
        direction : new Cesium.Cartesian3(-0.042312, -0.201232, -0.978629),
            //相机的up方向矢量(WGS84系下)
        up : new Cesium.Cartesian3(-0.479345, -0.855321, 0.1966022)        
    }
});

视角锁定或跟踪 lookAt

javascript 复制代码
const target = Cesium.Cartesian3.fromDegrees(120.0, 30.0, 3000000)
/*
0:相机的朝向(Heading),表示正北方向
			
1:Cesium.Math.PI_OVER_TWO:相机的俯仰(Pitch),表示相机向下看,即朝向地球。
	【Cesium.Math.PI_OVER_TWO 等于 Math.PI / 2,即90度】 
	所以 "-Cesium.Math.PI_OVER_TWO 等于 -90度",即指向地面。
 2:是相机的范围(Range),
	表示,相机距离目标点的距离是`5000000`米。
*/
const offset = new Cesium.HeadingPitchRange(0, -Cesium.Math.PI_OVER_TWO, 5000000)

// lookAtTransform  第一个参数是 矩阵  第二个参数是HeadingPitchRange
viewer.camera.lookAtTransform(                   
    Cesium.Transforms.eastNorthUpToFixedFrame(target) ,offset )

// lookAt 第一个参数 是 笛卡尔坐标系 第二个参数是HeadingPitchRange
viewer.camera.lookAt( target, offset )
相关推荐
杉之20 分钟前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
喝拿铁写前端22 分钟前
字段聚类,到底有什么用?——从系统混乱到结构认知的第一步
前端
再学一点就睡25 分钟前
大文件上传之切片上传以及开发全流程之前端篇
前端·javascript
木木黄木木1 小时前
html5炫酷图片悬停效果实现详解
前端·html·html5
请来次降维打击!!!2 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
難釋懷2 小时前
JavaScript基础-移动端常见特效
开发语言·前端·javascript
自动花钱机3 小时前
WebUI问题总结
前端·javascript·bootstrap·css3·html5
拉不动的猪3 小时前
简单回顾下pc端与mobile端的适配问题
前端·javascript·面试
拉不动的猪3 小时前
刷刷题49(react中几个常见的性能优化问题)
前端·react.js·面试
snowfoootball4 小时前
基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
前端·人工智能·后端·python·深度学习·高考