cesium(相机)

Posted mashuai666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cesium(相机)相关的知识,希望对你有一定的参考价值。

本文示列 相机的几种方式,及区别。

 

//创建viewer

var viewer = new Cesium.Viewer(‘cesiumContainer‘);

 

//第一种:viewer.zoomTo 

viewer.zoomTo(greenCorridor,{
        heading:Cesium.Math.toRadians(0),
        pitch:Cesium.Math.toRadians(-30),
        range:100,//距离中心的距离(以米为单位)
})

//第二中:viewer.flyTo

viewer.flyTo(greenCorridor,{
        duration:2.0,          //飞行持续时间
        maximumHeight:10000,   //飞机中最大高度
        offset:new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0), Cesium.Math.toRadians(-90), Cesium.Math.toRadians(0))
 })

//第三种:viewer.camera.flyTo

 viewer.camera.flyTo({
     destination: Cesium.Cartesian3.fromDegrees(-90, 35, 5000000), //摄像机的最终位置
     duration: 8,                           //飞行所用时间
     maximumHeight: 20000,                  //飞行高峰时的最大高度。
     pitchAdjustHeight: 1500,               //如果摄像机的飞行高于此值,请调整俯仰航向以降低俯仰,并将地球保持在视野中
     orientation: {
         heading: Cesium.Math.toRadians(0), 
         pitch: Cesium.Math.toRadians(90),  
         roll: 0.0                          
     }
 });

//四、 viewer.camera.lookAt

var center = Cesium.Cartesian3.fromDegrees(-98.0, 40.0)//目标位置
viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0));//三个数字分别是:方位角,倾角,俯角

//五、viewer.camera.setView

viewer.camera.setView({
    destination : Cesium.Cartesian3.fromDegrees(-98.0, 40.0, 5000000),//相机位置
    orientation: {
        heading : Cesium.Math.toRadians(0), 
        pitch : Cesium.Math.toRadians(-90), 
        roll : 0.0                          
    }
});

 

区别:
viewer.zoomTo(): 方法可以立即定位到某个位置
viewer.flyTo(): flyTo则是通过动画方式转移到某个位置 可以设置动画时间
viewer.camera.flyTo(): 也是通过动画的方式转移到某个位置, 参数比viewer.flyTo要多
viewer.camera.lookAt(): 立即定位到某个位置, 而且相机锁住此位置。

 

注:
* heading:方位角
* pitch:倾角
* roll:旋转角
* range:距离中心的距离(以米为单位)













以上是关于cesium(相机)的主要内容,如果未能解决你的问题,请参考以下文章

cesium(相机)

cesium 相机camera

Cesium学习笔记Camera

cesium 设置和移动camera相机(工具篇)

cesium-多viewer分屏同步实现

片段中的 Android 相机预览