cesium之座標

1.幾種座標
cesium事件
1.相機事件(移動開始、移動結束等等)
viewer.scene.camera.moveEnd.addEventListener(function(){

});


2.鼠標事件(單擊、移動、右鍵等)
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function (movement) {
     // 處理鼠標移動事件
     // 更新鼠標位置
    mousePosition = movement.endPosition;
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

handler.setInputAction(function(click) {
   // 處理鼠標按下事件
   // 獲取鼠標當前位置
   mousePosition = click.position;
 }, Cesium.ScreenSpaceEventType.LEFT_DOWN);


3.渲染事件(實時渲染,很關鍵的一個事件)
var renderEnd = viewer.scene.postRender.addEventListener(function(){


});

> [提示信息][2]

pitch yaw roll是什麼

在航空中,pitch, yaw, roll如圖2所示。

pitch是圍繞X軸旋轉,也叫做俯仰角,如圖3所示。

yaw是圍繞Y軸旋轉,也叫偏航角,如圖4所示。

roll是圍繞Z軸旋轉,也叫翻滾角,如圖5所示。
圖片描述

實體(Entity)

model:
    minimumPixelSize與maximumScale組合可以控制模型遠近時候的大小
    availability: 代表該實體存在的有效時間,如下所示,
    availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
        start : start,
        stop : stop
    })])

圖層(viewer.imageryLayers/viewer.scene. imageryLayers)

得到影像圖層的集合,將其渲染到球體上,它是一個ImageryLayerCollection類型的,可以通過addImageryProvider()方法(返回值是ImageryLayer類型)進行添加,參數是各個provider(地圖渲染引擎)。
viewer.imageryLayers.addImageryProvider(new Cesium.PieMapServerImageryProvider({
       url: '//localhost:8082/service/v1/tile?map=dongsha',
        enablePickFeatures: false
    }));

大氣、光照、霧效等環境特效

光照: scene.globe.enableLighting
霧效:scene.fog.enabled
大氣:scene.skyAtmosphere

相機控制

Scene.ScreenSpaceCameraController:根據鼠標修改相機的方位,在裏面可以選擇是否禁用鼠標縮放、旋轉等功能

時間控制

獲取當前時間 var time = viewer.clock.currentTime;
viewer.clock.onTick.addEventListener(function(clock){
//回調函數,時間變化就執行(即使停止時間軸仍然會執行。。。。)
});
JulianDate:代表天文朱利安時間,用的是世界協調時,比北京時間晚8個小時,它有clone方法,可避免時間被修改
var start = Cesium.JulianDate.fromDate(new Date(2015, 2, 25, 16));
var stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());//360是秒
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;//待研究
viewer.clock.multiplier = 1.0;//倍數

關於地形

viewer.scene.globe.depthTestAgainstTerrain = true;
爲true時,球體會有高程遮擋效果(在沒有地形時候也會有高程遮擋效果)。

模型屬性設置

對於加入cesium中的模型,一般用entity。如若修改他們的屬性,就可根據這兩個類型向下尋找屬性,不可修改它的私有屬性。
獲取單個模型,用entity.getById()

去除版權信息

viewer._cesiumWidget._creditContainer.style.display = "none";

Cesium之Primitive

博客
博客實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章