# LayerUtil
查阅Cesium API

#### LayerUtil()
util/LayerUtil.js 1

图层相关 静态方法

### 方法

#### static mars3d.LayerUtil.create(options) → BaseLayer
util/LayerUtil.js 58

创建图层工厂方法

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 图层参数，包括：
参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | LayerType | 图层类型
`其他` | object | 具体见各`LayerType`对应的图层类的构造方法参数

##### 返回值:

创建完成的图层对象

#### static mars3d.LayerUtil.createImageryProvider(options) → Promise.<*>
util/LayerUtil.js 219

创建地图底图ImageryProvider的工厂方法

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | Provider参数，具体见各Provider类的构造方法参数说明

##### 返回值:

ImageryProvider类

#### static mars3d.LayerUtil.createTerrainProvider(options) → Promise.<(Cesium.CesiumTerrainProvider|Object)>
util/LayerUtil.js 394

创建地形对象的工厂方法

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 地形参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`type` | string | TerrainType |  | 可选 地形类型
`url` | string | Cesium.Resource |  | 可选 地形服务地址
`proxy` | string |  | 可选 加载资源时要使用的代理服务url。
`templateValues` | object |  | 可选 url模版，用于替换Url中的模板值的键/值对
`queryParameters` | object |  | 可选 一个对象，其中包含在检索资源时将发送的查询参数。比如：queryParameters: {'access_token': '123-435-456-000'}
`headers` | object |  | 可选 一个对象，将发送的其他HTTP标头。比如：headers: { 'X-My-Header': 'valueOfHeader' }
`requestVertexNormals` | boolean | `true` | 可选 是否应该从服务器请求额外的光照信息，如果可用，以每个顶点法线的形式。
`requestWaterMask` | boolean | `false` | 可选 是否应该向服务器请求每个瓦的水掩膜(如果有的话)。
`requestMetadata` | boolean | `true` | 可选 是否应该从服务器请求每个块元数据(如果可用)。

##### 返回值:

地形对象

#### static mars3d.LayerUtil.getClass(type) → BaseLayer|undefined
util/LayerUtil.js 45

根据 图层类型 获取 图层类

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | LayerType | 图层类型

##### 返回值:

图层类

#### static mars3d.LayerUtil.getImageryProviderViewModels(arrLayer, templateValues) → object
util/LayerUtil.js 250

获取baseLayerPicker使用的绑定图层列表配置， 用于将config.json的配置basemaps数据转换为imageryProviderViewModels

参数名称 | 类型 | 描述信息
--- | --- | ---
`arrLayer` | Array.<object> | basemaps配置
`templateValues` | object | 可选 url模版，用于替换Url中的模板值的键/值对

##### 返回值:

转换后的 imageryProviderViewModels数组 和 显示图层的index(selectedIndex)

#### static mars3d.LayerUtil.getNoTerrainProvider() → Cesium.EllipsoidTerrainProvider
util/LayerUtil.js 328

创建 无地形的 标准椭球体对象

##### 返回值:

无地形 标准椭球体对象

#### static mars3d.LayerUtil.getSubdomainItem(subdomains) → string
util/LayerUtil.js 362

取当前subdomains配置的随机1个值，用于URL模板中用于 {s} 占位符的子域

参数名称 | 类型 | 描述信息
--- | --- | ---
`subdomains` | object | 可选的子域

##### 返回值:

随机取的一个子域

#### static mars3d.LayerUtil.getTerrainProviderViewModels(options, getLangText) → Array.<Cesium.ProviderViewModel>
util/LayerUtil.js 459

获取baseLayerPicker使用的绑定地形列表

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 地形参数,同`createTerrainProvider`方法参数
`getLangText` | object | 可选 取文本的方法

##### 返回值:

地形列表

#### static mars3d.LayerUtil.register(type, layerClass) → void
util/LayerUtil.js 29

注册图层类

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | string | 图层类型
`layerClass` | BaseLayer | 图层类

##### 返回值:

无

#### static mars3d.LayerUtil.registerImageryProvider(type, layerClass) → void
util/LayerUtil.js 201

注册ImageryProvider类

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | string | Provider类型
`layerClass` | * | ImageryProvider类

##### 返回值:

无

#### static mars3d.LayerUtil.registerTerrainProvider(type, layerClass) → void
util/LayerUtil.js 345

注册TerrainProvider类

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | string | Provider类型
`layerClass` | * | TerrainProvider类

##### 返回值:

无