TerrainLayer 地形图层
地形图层用于加载和管理地形数据。
演练场
引入
ts
import { TerrainLayer } from "@m-tech/gis-core";
new TerrainLayer(terrainProvider, options);入参
| 参数名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| terrainProvider | TerrainProviderType | 是 | TerrainProviderType.Ellipsoid | 地形图层服务类型 |
| options | Object | 否 | {} | 配置 |
提示
不同的 terrainProvider 所要求的 options 并不相同,区别见 示例用法。
注意
地形仅允许存在一个,新的地形会覆盖旧的地形。
属性
| 属性 | 类型 | 读/写 | 描述 |
|---|---|---|---|
| id | string | 读写 | 图层唯一标识 |
| show | boolean | 读写 | 图层是否可见 |
方法
addToViewer(viewer: Viewer)
将图层添加到 Viewer。
clear()
清空图层。
示例
ts
// 天地图地形
new TerrainLayer(TerrainProviderType.TMap).addToViewer(viewer);
// 自定义url 地形
new TerrainLayer(TerrainProviderType.Url, {
url: "http://data.marsgis.cn/terrain",
}).addToViewer(viewer);
// 椭球地形 空地形
new TerrainLayer(TerrainProviderType.Ellipsoid).addToViewer(viewer);
// cesium ion 地形
Cesium.Ion.defaultAccessToken = "xx.xx.xx"; // 设置cesium ion 访问令牌
new TerrainLayer(TerrainProviderType.CesiumIon, {
assetId: 3956, // 静态资源id
}).addToViewer(viewer);
// 谷歌地形
new TerrainLayer(TerrainProviderType.Google, {
url: "http://www.earthenterprise.org/3d", // 谷歌地形服务地址
}).addToViewer(viewer);
// arcgis 地形
new TerrainLayer(TerrainProviderType.Arcgis, {
url: "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer", // arcgis地形服务地址
token: "xx.xx.xx", // arcgis地形服务访问令牌 非必要
}).addToViewer(viewer);
// vr 地形
new TerrainLayer(TerrainProviderType.VR, {
url: "https://www.vr-theworld.com/vr-theworld/tiles1.0.0/73/", // vr地形服务地址
}).addToViewer(viewer);