# Layers

#### new Cesium.Layers(scene)
MapGIS/Layers.js 46

Name | Type | Description
--- | --- | ---
`scene` | Scene | 场景对象

### Members

#### readonly featureLayersMap : HashMap
MapGIS/Layers.js 136

矢量图层管理容器

#### readonly geojsonLayersMap : HashMap
MapGIS/Layers.js 148

geojson图层管理容器

#### readonly imageryLayersMap : HashMap
MapGIS/Layers.js 112

影像图层管理容器

#### readonly m3dLayersMap : HashMap
MapGIS/Layers.js 76

M3D 图层管理容器

#### readonly sceneLayerMap : HashMap
MapGIS/Layers.js 88

SceneLayer 图层管理器

#### readonly terrainLayersMap : HashMap
MapGIS/Layers.js 160

地形图层管理容器

#### readonly vectorLayersMap : HashMap
MapGIS/Layers.js 124

矢量图层管理容器

### Methods

#### appendCesium3DTilesetLayer(url, options) → Number
MapGIS/Layers.js 1413

添加 3DTileset 数据

Name | Type | Description
--- | --- | ---
`url` | String | Resource |

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`autoReset` | Boolean | `true` | optional 跳转到模型位置
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange |  | optional 镜头朝向
`rectangle` | Cartesian3 | Rectangle | `layer.root.boundingVolume.rectangle` | optional 视野跳转位置，默认值为图层包围盒，可以设置为世界坐标
`debugShowBoundingVolume` | Boolean | `false` | optional 包围盒
`maximumScreenSpaceError` | Number | `16` | optional 几何容错率基准参数
`debugWireframe` | Boolean | `false` | optional 线渲染模式
`pointCloudShading` | Object |  | optional 点云数据渲染参数
`headers` | Object |  | optional 数据请求头
`loaded` | function |  | optional 回调函数
`errorCallback` | function |  | optional 异常回调函数

##### Returns:

返回图层序号

#### appendFeatureLayer(url, options)
MapGIS/Layers.js 3004

加载MapGIS矢量地图文档

Name | Type | Description
--- | --- | ---
`url` | String | 发布的文档地址，或Igs图层服务地址，对应的layers参数不同，使用Igs图层服务地址通过gdbp仅能加载二维矢量图层，eg：二维地图文档地址：http://[host]:[port]/igs/rest/mrfs/docs/{docName}，三维地图文档地址：http://[host]:[port]/igs/rest/g3d/{docName}，Igs图层服务地址：http://[host]:[port]/igs/rest/mrfs/layer

`options`

Object

其他附加属性包含以下属性的对象

Name | Type | Default | Description
--- | --- | --- | ---
`getDocLayerIndexes` | function | `function` | optional 回调函数，用于获取文档中的所有图层对象
`autoReset` | Boolean | `true` | optional 视角是否自动切换到地图文档范围或第一个gdbp图层范围
`loadAll` | Boolean | `true` | optional 是否加载所有数据，默认全部加载
`setViewToExisting` | Boolean | `false` | optional 视角是否定位到现存要素的范围，仅当loadAll=true时有效，适用于旧版igs服务
`layers` | String |  | optional 图层id，即要加载哪些图层，分为地图文档加载（layer为0,1,2...）和gdbp地址加载（layer为gdbp1,gdbp2,...），分别对应两种url参数，地图文档加载示例：layers=show:0,1 表示只显示 layerIndex 为 0, 1 的图层，layers=hide:0,1 表示只隐藏 layerIndex 为 0, 1 的图层
`idField` | String | `FID` | optional id字段名
`tileFeaturesCount` | Number | `400` | optional 请求的瓦片矢量要素数量
`useSystemLib` | Boolean | `false` | optional 是否使用MapGIS桌面端符号系统库
`systemLib` | String | `'MapGIS 10'` | optional 符号系统库guid或名称,默认库为'MapGIS 10'
`clampToGround` | Boolean | `false` | optional 是否贴地，当加载三维地图文档或矢量白模时该属性无效

`filter`

Object | Array.<Object>

optional 全局过滤条件对象，或过滤条件对象数组，过滤条件数组顺序与图层顺序一致，空对象则使用默认无过滤

Name | Type | Default | Description
--- | --- | --- | ---
`orderField` | String |  | optional 排序字段名称，用于对输出结果进行排序
`isAsc` | boolean | `false` | optional 按照字段进行排序时，是否升序排列
`objectIds` | Array |  | optional 需要查询的要素的OID值数组,当objectIds有值时，代表基于objectIds查询，Where、geometry、geometryType、orderField、isAsc等查询参数无效.
`geometryType` | String |  | optional 几何类型，代表空间查询时传入的几何类型
`geometry` | Object |  | optional 几何类型对应的图形信息，也就是构成几何类型的坐标信息
`where` | String |  | optional 要素过滤条件
`rule` | String |  | optional 指定查询规则 {CompareRectOnly:true|false,EnableDisplayCondition:true|false,MustInside:true|false,Intersect:true|false}

`renderer`

Object

optional 专题图渲染规则，该属性用于提供专题服务

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图类型，可选 "simple"|"unique-value"|"class-breaks"

`legendOptions`

Object

optional 专题图图例选项，用来在图例中展示符号所表达的信息

Name | Type | Description
--- | --- | ---
`title` | Object | optional 专题图图例标题

`field` | String | optional 专题图字段名称，用来确定单值或分段要素，仅在renderer.type="unique-value"|"class-breaks"时使用

`symbol`

Object

optional 统一专题图符号样式

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图符号样式类型，可选 "point-3d"|"line-3d"|"polygon-3d"
`symbolLayers` | String | optional 专题图符号图层，可选 "icon"|"line"|"fill"|"extrude"

`label` | String | optional 统一专题图标签
`defaultSymbol` | Object | optional 单值|分段专题图默认符号样式，用来绘制具有与给定中断值不匹配的要素
`defaultLabel` | String | optional 单值|分段专题图默认标签，用来描述分配了默认符号的元素

`uniqueValueInfos`

Array.<Object>

optional 专题图单值信息，仅在renderer.type="unique-value"时使用

Name | Type | Description
--- | --- | ---
`value` | String | Number | optional 指定字段下的要素值，具有此值的要素将使用给定的符号可视化
`symbol` | Object | optional 符号，用来渲染指定要素
`label` | String | optional 标签，用来描述符号表示的值

`classBreakInfos`

Array.<Object>

optional 专题图分段信息，仅在renderer.type="class-breaks"时使用

Name | Type | Description
--- | --- | ---
`minValue` | Number | optional 设置分段间隔的最小值
`maxValue` | Number | optional 设置分段间隔的最大值
`symbol` | Object | optional 符号，用来渲染分段间隔最小-最大值之间的要素
`label` | String | optional 标签，用来描述符号表示的值

`normalizationType` | String | optional 专题图归一化类型，仅在render.type="class-breaks"时使用，可选 "field"|"percent-of-total"
`normalizationField` | String | optional 专题图根据字段归一化，即分段字段属性值 / 归一化字段属性值，如果renderer中定义了normalizationField，则优先执行normalizationField按字段归一化，通过归一化出的结果和分段专题图停靠点的值进行比较，若仅定义normalizationType未定义normalizationField，则不进行归一化，使用场景：如 区域人口数 / 该区域面积，返回该区域人口密度，根据人口密度绘制分段专题图
`normalizationTotal` | Number | optional 专题图根据属性值总和归一化，即分段字段属性值 / 给定总和，如果renderer中定义了normalizationTotal，则优先执行normalizationTotal按字段值总和归一化，通过归一化出的结果和分段专题图停靠点的值进行比较，若仅定义normalizationType未定义normalizationTotal，则使用 分段字段属性值 / 分段字段属性值总和 进行归一化，使用场景：如 区域GDP总量 / 所有区域GDP总量和，返回该区域GDP占比，根据GDP占比绘制分段专题图
`valueExpression` | String | optional 专题图计算表达式，用来对要素中的单/多个属性进行数学计算，属性字段使用"$feature.field"表示，如"[($feature.lg + 2) * 10 - 20 / 2] / 5 + $feature.mpLayer"，如果renderer中定义了valueExpression，则优先执行valueExpression表达式，通过表达式计算出来的结果和单值/分段专题图停靠点的值进行比较
`valueExpressionTitle` | String | optional 专题图计算表达式标题，在legendOptions属性中没有提供的情况下，将显示为图例中的标题

`visualVariables`

Array.<Object>

optional 专题图视觉变量

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图视觉变量类型，可选 "color"|"opacity"
`field` | String | optional 专题图视觉变量字段，用于和停靠点比较来确定绘制符号，只能为数字类型字段
`valueExpression` | String | optional 专题图视觉变量计算表达式
`valueExpressionTitle` | String | optional 专题图视觉变量计算表达式标题
`normalizationType` | String | optional 专题图视觉变量归一化类型，可选 "field"|"percent-of-total"
`normalizationField` | String | optional 专题图视觉变量归一化字段，将renderer中对应字段数据值除以归一化字段数据值
`normalizationTotal` | String | optional 专题图视觉变量归一化字段，将renderer中对应字段数据值除以所有数据值的总和

`stops`

Array.<Object>

optional 专题图视觉变量颜色数组，定义在一系列停靠点中应用于要素的连续色带的颜色

Name | Type | Description
--- | --- | ---
`value` | Number | optional 专题图视觉变量停靠点
`color` | Object | optional 专题图视觉变量停靠点颜色，根据相邻停靠点间的值和颜色进行线性插值

`style`

Object | Array.<Object>

optional 矢量地图文档的全局style样式对象,或分图层style样式对象数组，样式顺序与图层顺序一致，空对象则使用默认样式

Name | Type | Description
--- | --- | ---
`type` | String | optional style样式类型，可选参数为"point|line|polygon|building"，对应点，线，区，区矢量白模

`styleOptions`

Object

optional style具体参数对象

Name | Type | Default | Description
--- | --- | --- | ---
`color` | Color | `Cesium.Color.GHOSTWHITE` | optional 通用参数，颜色
`size` | Number |  | optional 点符号大小，仅当options.style.type="point"时生效
`outlineColor` | Color | `Cesium.Color.BLACK` | optional 边框线颜色，仅当options.style.type="point|polygon|building"时生效，当传入边框线颜色或边框线宽度参数时启用边框线
`outlineWidth` | Number | `1.0` | optional 边框线宽度，仅当options.style.type="point"时生效，当传入边框线颜色或边框线宽度参数时启用边框线,"polygon|building"边框线宽度仅能为默认值1。
`width` | Number | `1` | optional 线宽，仅当options.style.type="line"时生效
`heightField` | Number | String |  | optional 用作区矢量白模高程的属性字段名称，不设置则高程为零，仅当options.style.type="building"时生效
`heightRatio` | Number |  | optional 区矢量白模高程放缩比例，默认1.0，仅当options.style.type="building"时生效

`minimumLevel` | Number | `0` | optional 瓦片最小级别
`maximumLevel` | Number | `0` | optional 瓦片最大级别
`gdbps` | String |  | optional gdbps地址,多个图层用','隔开
`proxy` | String |  | optional 转发代理

##### Example:

    var options1 = {
           autoReset: true,
           filter: {
                 where: 'OBJECTID>500'
           },
           renderer: {
                 type: 'simple',
                 symbol: {
                     type: 'point-3d',
                     symbolLayers: {
                         type: 'icon',
                         material: { color: new Cesium.Color(1.0, 1.0, 1.0, 1.0) },
                         resource: {herf: "http://localhost:8085/Apps/SampleData/icon/Hotel.png", scale: 1.5, distanceDisplayCondition: new Cesium.DistanceDisplayCondition(10, 100000), sizeInMeters: false},
                         size: 20.0
                     }
                 },
                 label: "svg点符号"
           }
       }
       //java IGServer二维地图文档加载示例
       var layerIndexs;
       url = 'http://localhost:8089/igs/rest/services/二维矢量/FeatureServer/1';
       options = {
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
       }
       viewer.scene.layers.appendFeatureLayer(url, options);
       //.net IGServer二维地图文档加载示例
       var layerIndexs;
       url = 'http://localhost:6163/igs/rest/mrfs/docs/二维矢量/0/1';
       options = {
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
       }
       viewer.scene.layers.appendFeatureLayer(url, options);
       //gdbp地址加载示例
       url_gdbp = 'http://localhost:6163/igs/rest/mrfs/layer';
       option_gdbp={
           layers:'gdbp1,gdbp2,gdbp3'
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
       }
       viewer.scene.layers.appendFeatureLayer(url_gdbp, option_gdbp);
       //通过ID获取MapGISFeatureLayer图层
       var layerIndexs;
       for(var i = 0; i < layerIndexs; i++){
           viewer.scene.layers.getFeatureLayer(layerIndexs[i]);
       }
       //通过ID移除MapGISFeatureLayer图层
       for(var i = 0; i < layerIndexs; i++){
           viewer.scene.layers.removeFeatureLayerByID(layerIndexs[i]);
       }

#### appendGeojsonLayer(data, options)
MapGIS/Layers.js 3470

加载GeoJSON数据

Name | Type | Description
--- | --- | ---
`data` | String | Object | 数据类型,可选 url | GeoJSON Object | TopoJSON Object

`options`

Object

其他附加属性包含以下属性的对象

Name | Type | Default | Description
--- | --- | --- | ---
`getDocLayerIndexes` | function | `function` | optional 回调函数，用于获取文档中的所有图层对象索引
`loaded` | function | `function` | optional 回调函数，用于获取文档中的图层对象
`proxy` | String |  | optional 转发代理
`setViewToExisting` | Boolean | `true` | optional 是否视图跳转
`autoReset` | Boolean | `true` | optional 视角是否自动切换到geojson数据的中心
`clampToGround` | Boolean | `false` | optional 是否贴地

`renderer`

Object

optional 专题图渲染规则，该属性用于提供专题服务

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图类型，可选 "simple"|"unique-value"|"class-breaks"

`legendOptions`

Object

optional 专题图图例选项，用来在图例中展示符号所表达的信息

Name | Type | Description
--- | --- | ---
`title` | Object | optional 专题图图例标题

`field` | String | optional 专题图字段名称，用来确定单值或分段要素，仅在renderer.type="unique-value"|"class-breaks"时使用

`symbol`

Object

optional 统一专题图符号样式

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图符号样式类型，可选 "point-3d"|"line-3d"|"polygon-3d"
`symbolLayers` | String | optional 专题图符号图层，可选 "icon"|"line"|"fill"|"extrude"

`label` | String | optional 统一专题图标签
`defaultSymbol` | Object | optional 单值|分段专题图默认符号样式，用来绘制具有与给定中断值不匹配的要素
`defaultLabel` | String | optional 单值|分段专题图默认标签，用来描述分配了默认符号的元素

`uniqueValueInfos`

Array.<Object>

optional 专题图单值信息，仅在renderer.type="unique-value"时使用

Name | Type | Description
--- | --- | ---
`value` | String | Number | optional 指定字段下的要素值，具有此值的要素将使用给定的符号可视化
`symbol` | Object | optional 符号，用来渲染指定要素
`label` | String | optional 标签，用来描述符号表示的值

`classBreakInfos`

Array.<Object>

optional 专题图分段信息，仅在renderer.type="class-breaks"时使用

Name | Type | Description
--- | --- | ---
`minValue` | Number | optional 设置分段间隔的最小值
`maxValue` | Number | optional 设置分段间隔的最大值
`symbol` | Object | optional 符号，用来渲染分段间隔最小-最大值之间的要素
`label` | String | optional 标签，用来描述符号表示的值

`normalizationType` | String | optional 专题图归一化类型，仅在render.type="class-breaks"时使用，可选 "field"|"percent-of-total"
`normalizationField` | String | optional 专题图根据字段归一化，即分段字段属性值 / 归一化字段属性值，如果renderer中定义了normalizationField，则优先执行normalizationField按字段归一化，通过归一化出的结果和分段专题图停靠点的值进行比较，若仅定义normalizationType未定义normalizationField，则不进行归一化，使用场景：如 区域人口数 / 该区域面积，返回该区域人口密度，根据人口密度绘制分段专题图
`normalizationTotal` | Number | optional 专题图根据属性值总和归一化，即分段字段属性值 / 给定总和，如果renderer中定义了normalizationTotal，则优先执行normalizationTotal按字段值总和归一化，通过归一化出的结果和分段专题图停靠点的值进行比较，若仅定义normalizationType未定义normalizationTotal，则使用 分段字段属性值 / 分段字段属性值总和 进行归一化，使用场景：如 区域GDP总量 / 所有区域GDP总量和，返回该区域GDP占比，根据GDP占比绘制分段专题图
`valueExpression` | String | optional 专题图计算表达式，用来对要素中的单/多个属性进行数学计算，属性字段使用"$feature.field"表示，如"[($feature.lg + 2) * 10 - 20 / 2] / 5 + $feature.mpLayer"，如果renderer中定义了valueExpression，则优先执行valueExpression表达式，通过表达式计算出来的结果和单值/分段专题图停靠点的值进行比较
`valueExpressionTitle` | String | optional 专题图计算表达式标题，在legendOptions属性中没有提供的情况下，将显示为图例中的标题

`visualVariables`

Array.<Object>

optional 专题图视觉变量

Name | Type | Description
--- | --- | ---
`type` | String | optional 专题图视觉变量类型，可选 "color"|"opacity"
`field` | String | optional 专题图视觉变量字段，用于和停靠点比较来确定绘制符号，只能为数字类型字段
`valueExpression` | String | optional 专题图视觉变量计算表达式
`valueExpressionTitle` | String | optional 专题图视觉变量计算表达式标题
`normalizationType` | String | optional 专题图视觉变量归一化类型，可选 "field"|"percent-of-total"
`normalizationField` | String | optional 专题图视觉变量归一化字段，将renderer中对应字段数据值除以归一化字段数据值
`normalizationTotal` | String | optional 专题图视觉变量归一化字段，将renderer中对应字段数据值除以所有数据值的总和

`stops`

Array.<Object>

optional 专题图视觉变量颜色数组，定义在一系列停靠点中应用于要素的连续色带的颜色

Name | Type | Description
--- | --- | ---
`value` | Number | optional 专题图视觉变量停靠点
`color` | Object | optional 专题图视觉变量停靠点颜色，根据相邻停靠点间的值和颜色进行线性插值

`minimumLevel` | Number | `0` | optional 瓦片最小级别
`maximumLevel` | Number | `0` | optional 瓦片最大级别

##### Example:

    //Geojson数据加载示例
       var layerIndexs;
       data = 'http://localhost:8895/buildings.geojson';
       var options1 = {
           autoReset: true,
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
           renderer: {
                 type: 'simple',
                 symbol: {
                     type: 'point-3d',
                     symbolLayers: {
                         type: 'icon',
                         material: { color: new Cesium.Color(1.0, 1.0, 1.0, 1.0) },
                         resource: {herf: "http://localhost:8085/Apps/SampleData/icon/Hotel.png", scale: 1.5, distanceDisplayCondition: new Cesium.DistanceDisplayCondition(10, 100000), sizeInMeters: false},
                         size: 20.0
                     }
                 },
                 label: "svg点符号"
           }
       }
       viewer.scene.layers.appendFeatureLayer(data, options);
       //通过ID获取MapGISGeojsonLayer图层
       var layerIndexs;
       for(var i = 0; i < layerIndexs; i++){
           viewer.scene.layers.getFeatureLayer(layerIndexs[i]);
       }
       //通过ID移除MapGISGeojsonLayer图层
       var layerIndexs;
       for(var i = 0; i < layerIndexs; i++){
           viewer.scene.layers.removeFeatureLayerByID(layerIndexs[i]);
       }

#### appendGraphicsLayer(graphicsLayer)
MapGIS/Layers.js 2344

添加标绘图层

Name | Type | Description
--- | --- | ---
`graphicsLayer` | GraphicsLayer | 标绘图层对象

#### appendGraphicsLayerFromJson(viewer, json)
MapGIS/Layers.js 2354

添加标绘图层

Name | Type | Description
--- | --- | ---
`viewer` | Viewer | 视图对象
`json` | String | json格式的字符串

#### appendImageryLayer(url, options) → Number
MapGIS/Layers.js 1542

添加影像图层

Name | Type | Description
--- | --- | ---
`url` | String | 服务地址
`options` | Object | 可选参数

##### Returns:

layerIndex 返回图层序号

##### Example:

    //添加影像图层，仅支持旧版IGS的.net服务
    //返回图层序号
    var layerIndex = viewer.scene.layers.appendImageryLayer("http://webclient.smaryun.com:6163/igs/rest/mrms/tile/北京市Tile");
    //根据index获取图层
    var layer =  viewer.scene.layers.getImageryLayer(index);
    //根据序号删除图层，并销毁内存
    viewer.scene.layers.removeLayerByID(layerIndex , true);

#### appendM3DLayer(url, options) → Number
MapGIS/Layers.js 201

添加 M3D 数据

Name | Type | Description
--- | --- | ---
`url` | String | Resource |

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`autoReset` | Boolean | `true` | optional 跳转到模型位置
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange |  | optional 镜头朝向
`rectangle` | Cartesian3 | Rectangle | `layer.root.boundingVolume.rectangle` | optional 视野跳转位置，默认值为图层包围盒，可以设置为世界坐标
`debugShowBoundingVolume` | Boolean | `false` | optional 包围盒
`maximumScreenSpaceError` | Number | `16` | optional 几何容错率基准参数
`debugWireframe` | Boolean | `false` | optional 线渲染模式
`pointCloudShading` | Object |  | optional 点云数据渲染参数
`headers` | Object |  | optional 数据请求头
`loaded` | function |  | optional 回调函数
`errorCallback` | function |  | optional 异常回调函数
`gltfParsedCallback` | function |  | optional gltf解析完成回调，提供修改gltf对象能力,一个M3D图层包含多个gltf,对所有的gltf应用同一个回调可能不合适
`fillClip` | Boolean | `false` | optional 是否需要填充M3D2.0数据剖面，在appendM3DLayer函数中给而不是设置裁剪面给的原因是，要想支持剖面选取高亮必须统计primitive的oid列表,为了节省内存,原始数据在加载完成后就会释放，后续没有时机统计oid列表
`hasSectionGeometry` | Boolean | `false` | optional 是否会存在剖面几何，如果后续会addSectionGeometry方法给m3d图层设置剖切面设置为true

##### Returns:

返回图层序号

##### Example:

    var url = 'http://localhost:8086/M3D/1.0/school_all/school_all.mcj';
     var options = {
         autoReset: true,
         duration: 2
         loaded: function (layer) {
             console.log(layer);
         }
     };

     var layerIndex = viewer.scene.layers.appendM3DLayer(url, options);

#### appendSceneLayer(url, options)
MapGIS/Layers.js 466

添加 G3D 服务数据

Name | Type | Description
--- | --- | ---
`url` | String |

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`autoReset` | Boolean | `true` | optional 是否自动定位
`synchronous` | Boolean | `true` | optional 是否异步请求
`loaded` | function | `function` | optional 回调函数，获取单图层信息
`getDocLayerIndexes` | function | `function` | optional 回调函数，用于获取文档中的所有图层对象
`showBoundingVolume` | Boolean | `false` | optional 是否显示包围盒
`maximumScreenSpaceError` | Number | `16` | optional 用于控制模型显示细节 值较大将会渲染更少的贴图,进而可以提高性能,而较低的值将提高视觉质量
`layers` | String |  | optional 图层过滤功能
`useIDB` | String | `false` | optional 是否使用前端缓存
`maxCacheLevel` | Number |  | optional 前端最大缓存级别
`tileFeaturesCount` | Number | `400` | optional 矢量图层单个瓦片加载的矢量要素数量
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange | `new HeadingPitchRange(0.0, -0.5, mergeBoundingSphere.radius * 2.5` | optional 镜头朝向
`requestVertexNormals` | Boolean | `false` | optional 是否请求法向（地形）
`proxy` | DefaultProxy |  | optional 代理

##### Example:

    viewer.scene.layers.appendSceneLayer('http://192.168.90.102:6163/igs/rest/g3d/1218示例', {
         autoReset:false,
         synchronous:true,
         layers: 'show:0',
         loaded:callBackfunction
     });

     viewer.scene.layers.appendSceneLayer('http://192.168.90.102:6163/igs/rest/g3d/1218示例', {
         autoReset:false,
         synchronous:true,
         layers: 'hide:0',
         getDocLayerIndexes: function (indexes) { console.log(indexes); }
     });

#### appendTerrainLayer(url, optionsParam) → MapGISTerrainProvider|TerrainProvider
MapGIS/Layers.js 2216

添加地形图层（内部）

Name | Type | Description
--- | --- | ---
`url` | String | 服务地址

`optionsParam`

Object

可选参数

Name | Type | Default | Description
--- | --- | --- | ---
`requestVertexNormals` | Boolean | `false` | optional 是否请求法向（地形）
`autoReset` | Boolean | `true` | optional 是否自动跳转

##### Returns:

terrainLayer 返回图层对象

#### appendVectorLayer(url, options)
MapGIS/Layers.js 2497

加载MapGIS矢量地图文档

Name | Type | Description
--- | --- | ---
`url` | String | 发布的文档地址，或Igs图层服务地址，对应的layers参数不同，使用Igs图层服务地址通过gdbp仅能加载二维矢量图层，eg：二维地图文档地址：http://[host]:[port]/igs/rest/mrfs/docs/{docName}，三维地图文档地址：http://[host]:[port]/igs/rest/g3d/{docName}，Igs图层服务地址：http://[host]:[port]/igs/rest/mrfs/layer

`options`

Object

其他附加属性包含以下属性的对象

Name | Type | Default | Description
--- | --- | --- | ---
`getDocLayerIndexes` | function | `function` | optional 回调函数，用于获取文档中的所有图层对象
`autoReset` | Boolean | `true` | optional 视角是否自动切换到地图文档范围或第一个gdbp图层范围
`loadAll` | Boolean | `false` | optional 是否加载所有数据，默认以矢量瓦片形式动态加载
`setViewToExisting` | Boolean | `false` | optional 视角是否定位到现存要素的范围，仅当loadAll=true时有效，适用于旧版igs服务
`layers` | String |  | optional 图层id，即要加载哪些图层，分为地图文档加载（layer为0,1,2...）和gdbp地址加载（layer为gdbp1,gdbp2,...），分别对应两种url参数，地图文档加载示例：layers=show:0,1 表示只显示 layerIndex 为 0, 1 的图层，layers=hide:0,1 表示只隐藏 layerIndex 为 0, 1 的图层
`idField` | String | `FID` | optional id字段名
`tileFeaturesCount` | Number | `400` | optional 请求的瓦片矢量要素数量
`useSystemLib` | Boolean | `false` | optional 是否使用MapGIS桌面端符号系统库
`systemLib` | String | `'MapGIS 10'` | optional 符号系统库guid或名称,默认库为'MapGIS 10'
`clampToGround` | Boolean | `false` | optional 是否贴地，当加载三维地图文档或矢量白模时该属性无效

`filter`

Object | Array.<Object>

optional 全局过滤条件对象，或过滤条件对象数组，过滤条件数组顺序与图层顺序一致，空对象则使用默认无过滤

Name | Type | Default | Description
--- | --- | --- | ---
`orderField` | String |  | optional 排序字段名称，用于对输出结果进行排序
`isAsc` | boolean | `false` | optional 按照字段进行排序时，是否升序排列
`objectIds` | Array |  | optional 需要查询的要素的OID值数组,当objectIds有值时，代表基于objectIds查询，Where、geometry、geometryType、orderField、isAsc等查询参数无效.
`geometryType` | String |  | optional 几何类型，代表空间查询时传入的几何类型
`geometry` | Object |  | optional 几何类型对应的图形信息，也就是构成几何类型的坐标信息
`where` | String |  | optional 要素过滤条件
`rule` | String |  | optional 指定查询规则 {CompareRectOnly:true|false,EnableDisplayCondition:true|false,MustInside:true|false,Intersect:true|false}

`style`

Object | Array.<Object>

optional 矢量地图文档的全局style样式对象,或分图层style样式对象数组，样式顺序与图层顺序一致，空对象则使用默认样式

Name | Type | Description
--- | --- | ---
`type` | String | optional style样式类型，可选参数为"point|line|polygon|building"，对应点，线，区，区矢量白模

`styleOptions`

Object

optional style具体参数对象

Name | Type | Default | Description
--- | --- | --- | ---
`color` | Color | `Cesium.Color.GHOSTWHITE` | optional 通用参数，颜色
`size` | Number |  | optional 点符号大小，仅当options.style.type="point"时生效
`outlineColor` | Color | `Cesium.Color.BLACK` | optional 边框线颜色，仅当options.style.type="point|polygon|building"时生效，当传入边框线颜色或边框线宽度参数时启用边框线
`outlineWidth` | Number | `1.0` | optional 边框线宽度，仅当options.style.type="point"时生效，当传入边框线颜色或边框线宽度参数时启用边框线,"polygon|building"边框线宽度仅能为默认值1。
`width` | Number | `1` | optional 线宽，仅当options.style.type="line"时生效
`heightField` | Number | String |  | optional 用作区矢量白模高程的属性字段名称，不设置则高程为零，仅当options.style.type="building"时生效
`heightRatio` | Number |  | optional 区矢量白模高程放缩比例，默认1.0，仅当options.style.type="building"时生效

`minimumLevel` | Number | `0` | optional 瓦片最小级别
`maximumLevel` | Number | `0` | optional 瓦片最大级别
`gdbps` | String |  | optional gdbps地址,多个图层用','隔开
`proxy` | String |  | optional 转发代理

##### Example:

    var options1 = {
           autoReset: false,
           tileFeaturesCount: 400,
           filter: {
                 where: 'OBJECTID>500'
           },
           style: {
                 type: 'building',
                 styleOptions: {
                     heightField: 'HEIGHT',
                     heightRatio: 10,
                     color: Cesium.Color.WHITE,
                     outline: true
                 }
           }
       }
       //多图层style设置,多图层filter同理
       var options2 = {
           style: [
               {
                   type: 'line',
                   styleOptions: {
                       color: Cesium.Color.WHITE,
                       width: 1.0
                   }
               },
               //空对象，即使用默认样式
               {},
               {
                   type: 'line',
                   styleOptions: {
                       color: Cesium.Color.RED,
                       width: 1.0
               }
                   }
           ]
       }
       //地图文档加载示例
       var layerIndexs;
       url = 'http://localhost:6163/igs/rest/mrms/docs/二维矢量';
       options = {
           layers: 'layers=show:0,1'
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
       }
       viewer.scene.layers.appendVectorLayer(url, options);

       //gdbp地址加载示例
       url_gdbp = 'http://localhost:6163/igs/rest/mrfs/layer';
       option_gdbp={
           layers:'gdbp1,gdbp2,gdbp3'
           getDocLayerIndexes: function (indexs) {
                 console.log(indexs);
                 layerIndexs = indexs;
           },
       }
       viewer.scene.layers.appendVectorLayer(url_gdbp, option_gdbp);
       //移除
       for(var i = 0; i < layerIndexs; i++){
           viewer.scene.layers.removeVectorLayerByID(layerIndexs[i]);
       }

#### getAllCesium3DTilesetLayers() → Array.<Cesium3DTileset>
MapGIS/Layers.js 1475

获取全部 Cesium3DTileset 图层对象

##### Returns:

返回所有的M3D图层对象

#### getAllImageryLayers() → Array.<ImageryLayer>
MapGIS/Layers.js 1758

获取全部影像图层

##### Returns:

获取全部影像图层

#### getAllM3DLayers() → Array.<MapGISM3DSet>
MapGIS/Layers.js 273

获取全部 M3D 图层对象

##### Returns:

返回所有的M3D图层对象

#### getAllSceneLayers() → Array.<SceneLayer>
MapGIS/Layers.js 854

获取全部 SceneLayer 图层

##### Returns:

获取全部 SceneLayer 图层

#### getCesium3DTilesetLayer(layerIndex) → Cesium3DTileset
MapGIS/Layers.js 1464

根据图层索引号，获取 Cesium3DTileset 图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

返回 Cesium3DTileset 图层对象

##### Example:

    var layer = viewer.scene.layers.getCesium3DTilesetLayer(layerIndex);

#### getFeatureLayer(layerIndex) → MapGISFeatureLayer
MapGIS/Layers.js 2060

根据图层索引号，获取矢量图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

featureLayer 返回矢量图层对象

##### Example:

    var layer = viewer.scene.layers.getFeatureLayer(layerIndex);

#### getGeojsonLayer(layerIndex) → MapGISGeojsonLayer
MapGIS/Layers.js 2110

根据图层索引号，获取geojson图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

geojsonLayer 返回geojson图层对象

##### Example:

    var layer = viewer.scene.layers.getGeojsonLayer(layerIndex);

#### getGraphicsLayer(layerIndex) → GraphicsLayer
MapGIS/Layers.js 2364

根据图层索引号，获取 标绘图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号

##### Returns:

graphicsLayer返回标绘图层对象

#### getImageryLayer(layerIndex) → ImageryLayer
MapGIS/Layers.js 1748

根据图层索引号，获取影像图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

ImageryLayer 返回影像图层对象

##### Example:

    var layer = viewer.scene.layers.getImageryLayer(layerIndex);

#### getLayer(index) → MapGISM3DSet|SceneLayer|Cesium3DTileset|ImageryLayer|TerrainProvider|MapGISVectorLayer
MapGIS/Layers.js 3606

按照图层索引号获取图层对象

Name | Type | Description
--- | --- | ---
`index` | Number | 图层索引号

##### Returns:

返回图层对象

#### getM3DLayer(layerIndex) → MapGISM3DSet
MapGIS/Layers.js 262

根据图层索引号，获取 M3D 图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

m3dLayer 返回 M3D 图层对象

##### Example:

    var layer = viewer.scene.layers.getM3DLayer(layerIndex);

#### getSceneLayer(layerIndex) → SceneLayer
MapGIS/Layers.js 844

按索引号获取 SceneLayer 图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层索引号

##### Returns:

返回 SceneLayer 图层

#### getTerrainLayer(layerIndex) → TerrainProvider
MapGIS/Layers.js 2274

根据图层索引号，获取 地形图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号

##### Returns:

terrainLayer返回地形对象

#### getVectorLayer(layerIndex) → MapGISVectorLayer
MapGIS/Layers.js 1934

根据图层索引号，获取矢量图层对象

Name | Type | Description
--- | --- | ---
`layerIndex` | Number |

##### Returns:

vectorLayer 返回矢量图层对象

##### Example:

    var layer = viewer.scene.layers.getVectorLayer(layerIndex);

#### removeAllCesium3DTilesetLayers(destroy)
MapGIS/Layers.js 1512

删除全部 Cesium3DTileset 图层

Name | Type | Default | Description
--- | --- | --- | ---
`destroy` | Boolean | `true` | optional 销毁内存

##### Example:

    viewer.scene.removeAllCesium3DTilesetLayers(true);

#### removeAllFeatureLayers(destroy)
MapGIS/Layers.js 2088

移除所有featureLayer矢量图层

Name | Type | Description
--- | --- | ---
`destroy` | Boolean | 是否销毁内存

#### removeAllGeojsonLayers(destroy)
MapGIS/Layers.js 2138

移除所有geojson图层

Name | Type | Description
--- | --- | ---
`destroy` | Boolean | 是否销毁内存

#### removeAllGraphicsLayers()
MapGIS/Layers.js 2386

移除所有标绘图层

#### removeAllImageryLayers(destroy)
MapGIS/Layers.js 1784

移除所有影像图层

Name | Type | Description
--- | --- | ---
`destroy` | Boolean | 是否销毁内存

#### removeAllLayers(destroy)
MapGIS/Layers.js 3669

移除所有图层

Name | Type | Default | Description
--- | --- | --- | ---
`destroy` | Boolean | `true` | optional 是否销毁内存

#### removeAllM3DLayers(destroy)
MapGIS/Layers.js 310

删除全部 M3D 图层

Name | Type | Default | Description
--- | --- | --- | ---
`destroy` | Boolean | `true` | optional 销毁内存

##### Example:

    viewer.scene.removeAllM3DLayers(true);

#### removeAllSceneLayers(destroy)
MapGIS/Layers.js 878

移除全部 SceneLayer 图层

Name | Type | Description
--- | --- | ---
`destroy` | Boolean | 是否清理内存

#### removeAllTerrainLayers()
MapGIS/Layers.js 2297

移除所有地形图层

#### removeAllVectorLayers(destroy)
MapGIS/Layers.js 1962

移除所有矢量图层

Name | Type | Description
--- | --- | ---
`destroy` | Boolean | 是否销毁内存

#### removeCesium3DTilesetLayerByID(layerIndex, destroy)
MapGIS/Layers.js 1488

按照图层号移除 Cesium3DTileset 图层

Name | Type | Default | Description
--- | --- | --- | ---
`layerIndex` | Number |  |
`destroy` | Boolean | `true` | optional 销毁内存

##### Example:

    viewer.scene.layers.removeCesium3DTilesetLayerByID(layerIndex, true);

#### removeFeatureLayerByID(layerIndex, destroy)
MapGIS/Layers.js 2071

移除featureLayer矢量图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号
`destroy` | Boolean | 是否销毁内存

#### removeGeojsonLayerByID(layerIndex, destroy)
MapGIS/Layers.js 2121

移除geojson图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号
`destroy` | Boolean | 是否销毁内存

#### removeGraphicsLayerByIndex(layerIndex)
MapGIS/Layers.js 2373

移除标绘图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号

#### removeImageryLayerByID(layerIndex, destroy)
MapGIS/Layers.js 1767

移除影像图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号
`destroy` | Boolean | 是否销毁内存

#### removeLayerByID(index, destroy)
MapGIS/Layers.js 3638

按图层索引号删除图层

Name | Type | Default | Description
--- | --- | --- | ---
`index` | Number |  | 图层索引
`destroy` | Boolean | `true` | optional 是否销毁内存

#### removeM3DLayerByID(layerIndex, destroy)
MapGIS/Layers.js 286

按照图层号移除图层

Name | Type | Default | Description
--- | --- | --- | ---
`layerIndex` | Number |  |
`destroy` | Boolean | `true` | optional 销毁内存

##### Example:

    viewer.scene.layers.removeM3DLayerByID(layerIndex, true);

#### removeSceneLayerByID(layerIndex, destroy)
MapGIS/Layers.js 863

按索引号移除 SceneLayer 图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号
`destroy` | Boolean | 是否销毁内存

#### removeTerrainLayerByID(layerIndex)
MapGIS/Layers.js 2283

移除地形图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号

#### removeVectorLayerByID(layerIndex, destroy)
MapGIS/Layers.js 1945

移除矢量图层

Name | Type | Description
--- | --- | ---
`layerIndex` | Number | 图层序号
`destroy` | Boolean | 是否销毁内存

#### zoomToImageryLayer(layer, options)
MapGIS/Layers.js 1806

图层跳转

Name | Type | Description
--- | --- | ---
`layer` | ImageryLayer | 影像图层对象

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange | `new HeadingPitchRange(0.0, -0.5, boundingSphere.radius * 2.5)` | optional 镜头朝向

#### zoomToM3DLayer(layer, options)
MapGIS/Layers.js 332

图层跳转

Name | Type | Description
--- | --- | ---
`layer` | MapGISM3DSet | M3D 图层对象

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange | `new HeadingPitchRange(0.0, -0.5, boundingSphere.radius * 2.5)` | optional 镜头朝向

#### zoomToSceneLayer(layer, options)
MapGIS/Layers.js 900

图层跳转

Name | Type | Description
--- | --- | ---
`layer` | SceneLayer | G3D 图层对象

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`orientation` | HeadingPitchRange | `new HeadingPitchRange(0.0, -0.5, boundingSphere.radius * 2.5)` | optional 镜头朝向

#### zoomToTerrainLayer(layer, options)
MapGIS/Layers.js 2317

图层跳转,地形

Name | Type | Description
--- | --- | ---
`layer` | TerrainProvider | 地形 图层对象

`options`

Object

Name | Type | Default | Description
--- | --- | --- | ---
`duration` | Number | `0` | optional 跳转时间，以秒为单位
`destination` | Cartesian3 | Rectangle |  | optional 视野跳转位置