CesiumTerrainProvider 是 Cesium 中用于加载地形数据的提供者。此提供者可以加载本地的 Terrain 数据,也可以加载网络上的 Terrain 数据服务。
new Cesium.CesiumTerrainProvider(options);
options:Object 类型,包含以下属性之一或多个,表示构造函数的选项。
url:String 类型,加载 Terrain 数据的服务地址。默认值为 undefined。requestVertexNormals:Boolean 类型,表示是否请求三角形面的法线数据。默认值为 false。requestWaterMask:Boolean 类型,表示是否请求水面的蒙版数据。默认值为 false。requestTileGeometry:Boolean 类型,表示是否请求每个瓦片的几何数据。默认值为 true。var terrainProvider = new Cesium.CesiumTerrainProvider({
url : '//assets.agi.com/stk-terrain/world'
});
ready:Boolean 类型,表示当前 Terrain 数据是否已经加载完成。credit:Credit 类型,表示加载的 Terrain 数据来源的版权信息。requestTileGeometry(x, y, level, throttleRequests):请求指定瓦片的几何数据。
x:Number 类型,表示瓦片所处的列号。y:Number 类型,表示瓦片所处的行号。level:Number 类型,表示瓦片所处的层级。throttleRequests:Boolean 类型,表示是否限制同时请求的瓦片个数。默认为 true。Promise 类型,包含以下属性。
url:String 类型,表示请求的数据地址。headers:Object 类型,表示请求的头信息。buffer:ArrayBuffer 类型,表示请求得到的原始数据。error:Error 类型,表示请求过程中的错误信息。function requestTile(terrainProvider, x, y, level) {
var promise = terrainProvider.requestTileGeometry(x, y, level);
if (!Cesium.defined(promise)) {
return;
}
promise.then(function(data) {
// TODO:使用请求得到的瓦片几何数据。
}).otherwise(function(error) {
console.log(error);
});
}