Cesium 元素貼地的兩種方法

1,根據元素的clampToGround屬性貼地
     

var options = {
    
camera : viewer.scene.camera,

canvas : viewer.scene.canvas,

clampToGround: true //開啓貼地

};

viewer.camera.flyHome(0);

var a = viewer.dataSources.add(Cesium.KmlDataSource.load('../data/kml/test_geojson_test.kml', options));

a.then( viewer.flyTo(a));

a.then(function(dataSource) {

var entities = dataSource.entities.values;

   for (var i = 0; i < entities.length; i++) {

  var entity = entities[i];

         // 設置每個entity的樣式

   entity.billboard.disableDepthTestDistance = Number.POSITIVE_INFINITY; //去掉地形遮擋

  entity.billboard.color = Cesium.Color.WHITE;

  entity.billboard.image = '../data/kml/img.jpg';

}

});

2.根據Cesium.sampleTerrain方法計算該點地形高程,真正意義上的貼地

Cesium.sampleTerrain(

                        AppCesium.cesiumViewer.terrainProvider, CesiumConfig.terrain.pointHeightLevel,

                        Cesium.Cartographic.fromDegrees([108.038640320, 25.24820000])

        ).then(function (updatedCartographics) {

                             console.log(updatedCartographics);

                             

                             for(var i=0;i<updatedCartographics.length;i++){

                                  

                                  var cartographic = updatedCartographics[i];

                                  entityArr[i].position = Cesium.Cartesian3.fromRadians(

                                        cartographic.longitude,

                                        cartographic.latitude,

                                        cartographic.height

                                    ),

                                       viewer.entities.add(entityArr[i])

                             }

                       

                            viewer.zoomTo(viewer.entities);

                        });

Cesium.sampleTerrain方法的經緯度可是多個座標組成的二維數組,返回相同組數的帶高程的地理信息(經度,緯度,高程)

發佈了17 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章