Terrain

new Cesium.Terrain(terrainProviderPromise)

一个帮助管理地形提供者的异步操作的助手。
Name Type Description
terrainProviderPromise Promise.<TerrainProvider> A promise which resolves to a terrain provider
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 包含以下属性的对象:
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 包含以下属性的对象:
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 Forum.