Terrain

new Cesium.Terrain(terrainProviderPromise)

用于管理地形提供器异步操作的辅助对象。
Name Type Description
terrainProviderPromise Promise.<TerrainProvider> 解析为地形提供器的 Promise
Examples:
// Create
const viewer = new Cesium.Viewer("cesiumContainer", {
  terrain: new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
});
// Handle loading events
const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));

scene.setTerrain(terrain);

terrain.readyEvent.addEventListener(provider => {
  scene.globe.enableLighting = true;

  terrain.provider.errorEvent.addEventListener(error => {
    alert(`Encountered an error while loading terrain tiles! ${error}`);
  });
});

terrain.errorEvent.addEventListener(error => {
  alert(`Encountered an error while creating terrain! ${error}`);
});
See:

Members

获取一个事件,当地形提供器遇到异步错误时触发。通过订阅 该事件,你将收到错误通知并有可能从中恢复。事件监听器 会收到一个被抛出错误的实例。
为地球提供表面几何体的地形提供器。在 Terrain.readyEvent 触发之前不要使用。

readonly ready : boolean

当地形提供器已成功创建时返回 true,否则返回 false。
获取一个事件,当地形提供器已成功创建时触发。事件监听器 会收到所创建的 TerrainProvider 实例。

Methods

static Cesium.Terrain.fromWorldBathymetry(options)Terrain

Cesium World Bathymetry 创建一个 Terrain 实例。
Name Type Description
options object optional Object with the following properties:
Name Type Default Description
requestVertexNormals boolean false optional 一个标志,指示如果服务器支持,客户端是否应请求额外的光照信息。
Returns:
用于 CesiumTerrainProvider 的异步辅助对象
Examples:
// Create Cesium World Bathymetry with default settings
const viewer = new Cesium.Viewer("cesiumContainer", {
  terrain: Cesium.Terrain.fromWorldBathymetry)
});
// Create Cesium World Terrain with normals.
const viewer1 = new Cesium.Viewer("cesiumContainer", {
  terrain: Cesium.Terrain.fromWorldBathymetry({
     requestVertexNormals: true
   });
});
// Handle loading events
const bathymetry = Cesium.Terrain.fromWorldBathymetry();

scene.setTerrain(bathymetry);

bathymetry.readyEvent.addEventListener(provider => {
  scene.globe.enableLighting = true;

  bathymetry.provider.errorEvent.addEventListener(error => {
    alert(`Encountered an error while loading bathymetric terrain tiles! ${error}`);
  });
});

bathymetry.errorEvent.addEventListener(error => {
  alert(`Encountered an error while creating bathymetric terrain! ${error}`);
});
See:

static Cesium.Terrain.fromWorldTerrain(options)Terrain

Cesium World Terrain 创建一个 Terrain 实例。
Name Type Description
options object optional Object with the following properties:
Name Type Default Description
requestVertexNormals boolean false optional 一个标志,指示如果服务器支持,客户端是否应请求额外的光照信息。
requestWaterMask boolean false optional 一个标志,指示如果服务器支持,客户端是否应请求逐瓦片的水掩码。
Returns:
用于 CesiumTerrainProvider 的异步辅助对象
Examples:
// Create Cesium World Terrain with default settings
const viewer = new Cesium.Viewer("cesiumContainer", {
  terrain: Cesium.Terrain.fromWorldTerrain()
});
// Create Cesium World Terrain with water and normals.
const viewer1 = new Cesium.Viewer("cesiumContainer", {
  terrain: Cesium.Terrain.fromWorldTerrain({
     requestWaterMask: true,
     requestVertexNormals: true
   });
});
// Handle loading events
const terrain = Cesium.Terrain.fromWorldTerrain();

scene.setTerrain(terrain);

terrain.readyEvent.addEventListener(provider => {
  scene.globe.enableLighting = true;

  terrain.provider.errorEvent.addEventListener(error => {
    alert(`Encountered an error while loading terrain tiles! ${error}`);
  });
});

terrain.errorEvent.addEventListener(error => {
  alert(`Encountered an error while creating terrain! ${error}`);
});
See:

Type Definitions

Cesium.Terrain.ErrorEventCallback(err)

发生错误时调用的函数。
This:
Name Type Description
err Error 一个包含所发生错误详细信息的对象。

Cesium.Terrain.ReadyEventCallback(provider)

提供器已创建时调用的函数
This:
Name Type Description
provider TerrainProvider 已创建的地形提供器。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。