第一中方式
在创建 new viewer中传入参数
terrain: Cesium.Terrain.fromWorldTerrain(), // 地形数据
javascript
const viewer = new Cesium.Viewer('cesiumContainer', {
geocoder: false,//地理编码搜索组件
homeButton: false,//将视角返回到初始位置
sceneModePicker: false,//场景控制器,可以切换2D、2.5D(哥伦布视图)、3D场景。
baseLayerPicker: false,//地图图层组件基础图层选择器,可以选择基础地图服务和地形服务
navigationHelpButton: false,//帮助按钮导航帮助按钮,显示有关地图控制的帮助信息。
animation: false,//如果设置为false,则不会创建'动画'小部件。
timeline: false,//时间轴时间线,指示当前时间,并允许用户跳到特定时间
fullscreenButton: false,//全屏组件
// CerditsDisplay
infoBox: false,//信息框
selectionIndicator: false,//选取指示器组件 是否显示对象选种框
navigationInstructionsInitiallyVisible: false,
vrButton: false,
shouldAnimate: true,//用于粒子效果打开动画效果 important
terrain: Cesium.Terrain.fromWorldTerrain(), // 地形数据
//旧版地形
// terrainProvider: Cesium.createWorldTerrain(),
// terrainProvider:new Cesium.createWorldTerrain({
// requestVertexNormals: true, //开启地形光照
// requestWaterMask: true, // 开启水面波纹
// }),
})
第二种方式
javascript
// 添加地形数据
const addWorldTerrainAsync = async (viewer: Cesium.Viewer) => {
try {
const terrainProvider = await Cesium.createWorldTerrainAsync({
requestWaterMask: true,// 开启水面波纹
requestVertexNormals: true,//开启地形光照
});
viewer.terrainProvider = terrainProvider;
} catch (error) {
console.log(`Failed to add world imagery: ${error}`);
}
};
第三种
javascript
//添加地形服务
let url="http://data.marsgis.cn/terrain"
async addTerrain(url) {
try {
var terrainLayer = await Cesium.CesiumTerrainProvider.fromUrl(url, {});
this.viewer.scene.terrainProvider = terrainLayer;
return terrainLayer;
} catch (error) {
console.log(`Error loading tileset: ${error}`);
}
},