cesium(相機)
阿新 • • 發佈:2018-11-13
而且 enter height tin cart range setview ora 時間
本文示列 相機的幾種方式,及區別。
//創建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(相機)