• 107.0 之前
  • 使用 CesiumTerrainProvider 加载地形:

terrainProvider: Cesium.createWorldTerrain(), // 地形数据

或者

viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
    url: 'https://assets.agi.com/stk-terrain/world' 
});
 
// 1.107.0 之后
// 我们可以使用一下几个方法解决

terrain: Cesium.Terrain.fromWorldTerrain(), // 地形数据
 
// 或者

// 添加地形数据
const addWorldTerrainAsync = async (viewer: Cesium.Viewer) => {
  try {    
    const terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(
      "//data.mars3d.cn/terrain",
      {
        requestWaterMask: true,
        requestVertexNormals: true,
      }
    );

    viewer.terrainProvider = terrainProvider;
  } catch (error) {
    console.log(`Failed to add world imagery: ${error}`);
  }
};
 
// 或者

// 添加地形数据
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}`);
  }
};