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

Cesium.sampleTerrain方法的经纬度可是多个坐标组成的二维数组,返回相同组数的带高程的地理信息(经度,纬度,高程)

你可能感兴趣的:(cesium)