| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775 | 
                        - # 图层 API 🌎
 - 
 - 将具有相同业务逻辑或属性的覆盖元素进行分类,以便于同一管理
 - 
 - ## DC.Layer
 - 
 - > 图层的基类,其子类是实例化后需添加到三维场景中方可展示各类三维数据
 - 
 - :::warning
 - 该基本类无法实例化,既视实例化后也无法使用
 - :::
 - 
 - ### properties
 - 
 - - `{String} id`:唯一标识 **_`readonly`_**
 - - `{Boolean} show`:是否显示
 - - `{Object} attr`:业务属性
 - - `{String} state`:图层状态 **_`readonly`_**
 - - `{String} type`:图层类型 **_`readonly`_**
 - 
 - ### methods
 - 
 - - **_addOverlay(overlay)_**
 - 
 -   添加覆盖物
 - 
 -   - 参数
 -     - `{Overlay} overlay`:覆盖物
 -   - 返回值 `this`
 - 
 - - **_addOverlays(overlays)_**
 - 
 -   添加覆盖物数组
 - 
 -   - 参数
 -     - `{Array<Overlay>} overlays`:覆盖物数组
 -   - 返回值 `this`
 - 
 - - **_removeOverlay(overlay)_**
 - 
 -   删除覆盖物
 - 
 -   - 参数
 -     - `{Overlay} overlay`:覆盖物
 -   - 返回值 `this`
 - 
 - - **_getOverlay(overlayId)_**
 - 
 -   根据 Id 获取覆盖物`(不推荐用)`
 - 
 -   - 参数
 -     - `{String} overlayId`:覆盖物唯一标识(默认产生)
 -   - 返回值 `overlay`
 - 
 - - **_getOverlayById(Id)_**
 - 
 -   根据业务 Id 获取覆盖物`(推荐用)`
 - 
 -   - 参数
 -     - `{String} Id`:覆盖物业务唯一标识
 -   - 返回值 `overlay`
 - 
 - - **_getOverlaysByAttr(attrName, attrVal)_**
 - 
 -   根据覆盖物属性获取覆盖物
 - 
 -   - 参数
 -     - `{String} attrName`:属性名称
 -     - `{Object} attrVal`:属性值
 -   - 返回值 `array`
 - 
 -   ```js
 -   overlay.attr.name = 'test' //设置覆盖物的属性
 -   let arr = layer.getOverlaysByAttr('name', 'test') //根据属性获取覆盖物
 -   ```
 - 
 - - **_getOverlays()_**
 - 
 -   获取所有覆盖物
 - 
 -   - 返回值 `array`
 - 
 - - **_eachOverlay(method, context)_**
 - 
 -   遍历覆盖物
 - 
 -   - 参数
 -     - `{Function} method`:回调函数,参数为每一个覆盖物
 -     - `{Object} context`:上下文
 -   - 返回值 `this`
 - 
 -   ```js
 -   layer.eachOverlay((item) => {})
 -   ```
 - 
 - - **_clear()_**
 - 
 -   清空图层
 - 
 -   - 返回值 `this`
 - 
 - - **_remove()_**
 - 
 -   删除图层
 - 
 -   - 返回值 `this`
 - 
 - - **_addTo(viewer)_**
 - 
 -   添加图层到场景
 - 
 -   - 参数
 -     - `{Viewer|World} viewer`:场景
 -   - 返回值 `this`
 - 
 - - **_on(type, callback, context)_**
 - 
 -   事件订阅
 - 
 -   - 参数
 -     - `{Object} type` :订阅类型
 -     - `{Function} callback` :订阅回调
 -     - `{Object} context` :上下文
 -   - 返回值 `this`
 - 
 - - **_off(type, callback, context)_**
 - 
 -   取消事件订阅
 - 
 -   - 参数
 -     - `{Object} type` :订阅类型
 -     - `{Function} callback` :订阅回调
 -     - `{Object} context` :上下文
 -   - 返回值 `this`
 - 
 - - **_fire(type,params)_**
 - 
 -   触发事件
 - 
 -   - 参数
 -     - `{Object} type` :订阅类型
 -     - `{Object} params` :参数
 -   - 返回值 `this`
 - 
 - ### static methods
 - 
 - - **_registerType(type)_**
 - 
 -   注册图层类型
 - 
 -   - 参数
 -     - `{String} type`:图层类型
 - 
 - - **_getLayerType()_**
 - 
 -   获取图层类型
 - 
 -   - 返回值 `string`
 - 
 - ## DC.LayerGroup
 - 
 - > 图层组,将图层按一定的逻辑分组,方便统一管理
 - 
 - ### example
 - 
 - ```js
 - let layerGroup = new DC.LayerGroup('id')
 - viewer.addLayerGroup(layerGroup)
 - let layer = new DC.VectorLayer('layer')
 - layerGroup.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层组唯一标识
 -   - 返回值 `layerGroup`
 - 
 - ### properties
 - 
 - - `{String} id`:唯一标识 **_`readonly`_**
 - - `{Boolean} show`:是否显示
 - - `{String} type`:图层类型 **_`readonly`_**
 - 
 - ### methods
 - 
 - - **_addLayer(layer)_**
 - 
 -   添加图层
 - 
 -   - 参数
 -     - `{Layer} layer`:图层
 -   - 返回值 `this`
 - 
 - - **_removeLayer(layer)_**
 - 
 -   删除图层
 - 
 -   - 参数
 -     - `{Layer} layer`:图层
 -   - 返回值 `this`
 - 
 - - **_getLayer(id)_**
 - 
 -   获取图层
 - 
 -   - 参数
 -     - `{String} id`:图层 ID
 -   - 返回值 `layer`
 - 
 - - **_getLayers()_**
 - 
 -   获取所有图层,不包括地图
 - 
 -   - 返回值 `layer`
 - 
 - - **_remove()_**
 - 
 -   删除图层组
 - 
 -   - 返回值 `this`
 - 
 - - **_addTo(viewer)_**
 - 
 -   添加图层到场景
 - 
 -   - 参数
 -     - `{Viewer|World} viewer`:场景
 -   - 返回值 `this`
 - 
 - ## DC.VectorLayer
 - 
 - > 矢量图层,用于添加各类矢量数据(点、线、面等),将矢量数据按一定的逻辑分组,方便统一管理,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.VectorLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `vectorLayer`
 - 
 - ## DC.DynamicLayer
 - 
 - > 动态图层,用于添加各类动态矢量数据(图标、模型等),将矢量数据按一定的逻辑分组,方便统一管理,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.DynamicLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `dynamicLayer`
 - 
 - ## DC.PrimitiveLayer
 - 
 - > 图元图层,用于添加各类图元数据,将图元数据按一定的逻辑分组,方便统一管理,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.PrimitiveLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `primitiveLayer`
 - 
 - ## DC.GroundPrimitiveLayer
 - 
 - > 贴地图元图层,用于添加各类贴地图元数据,将贴地图元数据按一定的逻辑分组,方便统一管理,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.GroundPrimitiveLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `groundPrimitiveLayer`
 - 
 - ## DC.TilesetLayer
 - 
 - > 3dTiles 图层,用于添加 3dTiles 模型数据, 继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.TilesetLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `tilesetLayer`
 - 
 - ## DC.GeoJsonLayer
 - 
 - > GeoJson 图层,用于加载 GeoJson 格式数据,继承于[Layer](#dc-layer),
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.GeoJsonLayer('id', '**/**.geojson')
 - layer.eachOverlay((item) => {
 -   // item 为一个entity,
 -   if (item.polyline) {
 -     //todo
 -     let polyline = DC.Polyline.fromEntity(item)
 -   }
 -   if (item.polygon) {
 -     //todo
 -     let polygon = DC.Polygon.fromEntity(item)
 -   }
 -   if (item.billboard) {
 -     //todo
 -     let point = DC.Point.fromEntity(item)
 -     let divIcon = DC.DivIcon.fromEntity(item)
 -     let billboard = DC.Billboard.fromEntity(item)
 -   }
 - })
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,url,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{String} url`:数据地址
 -     - `{Object} options`
 -       :属性配置,[详细使用说明](http://resource.dvgis.cn/cesium-docs/GeoJsonDataSource.html)
 -   - 返回值 `geoJsonLayer`
 - 
 - ### methods
 - 
 - - **_toVectorLayer()_**
 - 
 -   转换为矢量图层
 - 
 -   - 返回值 `vectorLayer`
 - 
 - - **_toModelLayer(modelUrl)_**
 - 
 -   转换为模型图层
 - 
 -   - 参数
 -     - `{String} modelUrl`:模型地址
 -   - 返回值 `vectorLayer`
 - 
 - ## DC.TopoJsonLayer
 - 
 - > TopoJson 图层,用于加载 TopoJson 格式数据,继承于[Layer](#dc-layer),
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.GeoJsonLayer('id', '**/**.geojson')
 - layer.eachOverlay((item) => {
 -   // item 为一个entity,
 -   if (item.polyline) {
 -     //todo
 -     let polyline = DC.Polyline.fromEntity(item)
 -   }
 -   if (item.polygon) {
 -     //todo
 -     let polygon = DC.Polygon.fromEntity(item)
 -   }
 -   if (item.billboard) {
 -     //todo
 -     let point = DC.Point.fromEntity(item)
 -     let divIcon = DC.DivIcon.fromEntity(item)
 -     let billboard = DC.Billboard.fromEntity(item)
 -   }
 - })
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,url,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{String} url`:数据地址
 -     - `{Object} options`
 -       :属性配置,[详细使用说明](http://resource.dvgis.cn/cesium-docs/GeoJsonDataSource.html)
 -   - 返回值 `topoJsonLayer`
 - 
 - ### methods
 - 
 - - **_toVectorLayer()_**
 - 
 -   转换为矢量图层
 - 
 -   - 返回值 `vectorLayer`
 - 
 - - **_toModelLayer(modelUrl)_**
 - 
 -   转换为模型图层
 - 
 -   - 参数
 -     - `{String} modelUrl`:模型地址
 -   - 返回值 `vectorLayer`
 - 
 - ## DC.HtmlLayer
 - 
 - > Html 图层,用于加载 DivIcon 节点,继承于[Layer](#dc-layer),
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.HtmlLayer('dom')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id)_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -   - 返回值 `htmlLayer`
 - 
 - ## DC.CzmlLayer
 - 
 - > Czml 图层,用于加载 Czml 数据,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.CzmlLayer('id', '**/**.czml')
 - layer.eachOverlay((item) => {
 -   if (item.polyline) {
 -     //todo
 -   }
 -   if (item.polygon) {
 -     //todo
 -   }
 -   if (item.billboard) {
 -     //todo
 -   }
 - })
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,url,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{String} url`:数据地址
 -     - `{Object} options`:属性配置 [详细使用说明](http://resource.dvgis.cn/cesium-docs/CzmlDataSource.html)
 -   - 返回值 `czmlLayer`
 - 
 - ## DC.KmlLayer
 - 
 - > Kml 图层,用于加载 Kml 数据,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.KmlLayer('id', '**/**.kml')
 - layer.eachOverlay((item) => {
 -   if (item.polyline) {
 -     //todo
 -   }
 -   if (item.polygon) {
 -     //todo
 -   }
 -   if (item.billboard) {
 -     //todo
 -   }
 - })
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,url,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{String} url`:数据地址
 -     - `{Object} options`:属性配置,[详细使用说明](http://resource.dvgis.cn/cesium-docs/KmlDataSource.html)
 -   - 返回值 `kmlLayer`
 - 
 - ## DC.GpxLayer
 - 
 - > GPX 图层,用于加载 gpx 数据,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.GpxLayer('id', '**/**.gpx')
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,url,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{String} url`:数据地址
 -     - `{Object} options`:属性配置,[详细使用说明](http://resource.dvgis.cn/cesium-docs/GpxDataSource.html)
 -   - 返回值 `gpxLayer`
 - 
 - ## DC.ClusterLayer
 - 
 - > 聚合图层,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.ClusterLayer('id', { image: '' })
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{Object} options`:属性配置
 -   - 返回值 `clusterLayer`
 - 
 - ```js
 - // options(属性可选)
 - const options = {
 -   "radius": 40,//像素范围
 -   "maxZoom": 25,
 -   "image": "<单个点图片地址>",
 -   "style": "circle", // circle 、 clustering 、custom
 -   "gradientColors": {
 -     "0.0001": DC.Color.DEEPSKYBLUE,
 -     "0.001": DC.Color.GREEN,
 -     "0.01": DC.Color.ORANGE,
 -     "0.1": DC.Color.RED
 -   },//幅度颜色设置
 -   "gradientImages": {},//幅度图片设置,仅当style为custom有效
 -   "clusterSize": 16, //集合图标尺寸
 -   "fontSize": 12,// 字体大小
 -   "fontColor": DC.Color.BLACK, //字体颜色
 -   "getCountOffset": (count) => {
 -     return { x: 0, y: 0 }
 -   } //字体偏移函数
 - }
 - ```
 - 
 - ### methods
 - 
 - - **_setPoints(points)_**
 - 
 -   设置点位
 - 
 -   - 参数
 -     - `{Array<Object>} points`:点位信息
 -   - 返回值 `clusterLayer`
 - 
 - ## DC.HeatMapLayer
 - 
 - > 热区图层,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.HeatMapLayer('layer')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,bounds,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{Object} options`:属性配置
 -   - 返回值 `heatMapLayer`
 - 
 - ```js
 - // options(属性可选)
 - const options = {
 -   "gradient": {
 -     "0.5": "green",
 -     "0.6": "orange",
 -     "0.95": "red"
 -   },//颜色设置
 -   "height": 0,// 高度
 -   "radius": 30, // 半径
 -   "useGround": false,//是否使用贴地模式
 -   "classificationType": 2//分类 是否影响地形,3D切片或同时影响这两者。0:地形、1:3D切片、2:两者。贴地模式下生效
 - }
 - ```
 - 
 - ### methods
 - 
 - - **_setPoints(points)_**
 - 
 -   设置点位
 - 
 -   - 参数
 -     - `{Array<Object>} points`:点位信息
 -   - 返回值 `heatMapLayer`
 - 
 - ```js
 - // 点位信息参数
 - const point = {
 -   "lng": "",//经度
 -   "lat": "", //纬度
 -   "value": 10//强度
 - }
 - ```
 - 
 - ## DC.WindLayer
 - 
 - > 风向图层,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let layer = new DC.WindLayer('id')
 - viewer.addLayer(layer)
 - ```
 - 
 - ### creation
 - 
 - - **_constructor(id,[options])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:图层唯一标识
 -     - `{Object} options`:属性配置
 -   - 返回值 `windLayer`
 - 
 - ```js
 - //options(属性可选)
 - const options = {
 -   "globalAlpha": 0.9,//透明度
 -   "lineWidth": 1,// 线宽
 -   "colorScale": "#fff",//颜色
 -   "velocityScale": 1 / 25,
 -   "maxAge": 90,
 -   "paths": 800,// 路径数
 -   "frameRate": 20,
 -   "useCoordsDraw": true,
 -   "gpet": true
 - }
 - ```
 - 
 - ### methods
 - 
 - - **_setData(data,[options])_**
 - 
 -   设置风向数据
 - 
 -   - 参数
 -     - `{Object} data`:风向数据
 -     - `{Object} options`:配置信息,参考构造函数的配置信息
 -   - 返回值 `windLayer`
 - 
 - - **_setOptions(options)_**
 - 
 -   设置风向数据
 - 
 -   - 参数
 -     - `{Object} options`:配置信息,参考构造函数的配置信息
 -   - 返回值 `windLayer`
 - 
 - ## DC.ChartLayer
 - 
 - > 图表图层,继承于[Layer](#dc-layer)
 - 
 - ### example
 - 
 - ```js
 - let chartLayer = new DC.ChartLayer('layer')
 - viewer.addLayer(chartLayer)
 - ```
 - 
 - :::warning
 - 图表图层依赖于 echarts 库,使用前请确保全局变量中能够获取到 echarts
 - :::
 - 
 - ### creation
 - 
 - - **_constructor([id],[option])_**
 - 
 -   构造函数
 - 
 -   - 参数
 -     - `{String} id`:唯一标识
 -     - `{Object} option`:echarts 配置,[详细使用说明](https://www.echartsjs.com/zh/option.html#title)
 -   - 返回值 `chartLayer`
 - 
 - ```js
 - // options,其他的参数参考 echarts
 - const options = {
 -   "animation": false,  // 必须要加
 -   "GLMap": {},  //地图
 -   "series": [
 -     {
 -       "coordinateSystem": "GLMap" // 坐标系统
 -     }
 -   ]
 - }
 - ```
 - 
 - ### methods
 - 
 - - **_setOption(option)_**
 - 
 -   设置点位
 - 
 -   - 参数
 -     - `{Object} option`:echarts 配置,[详细使用说明](https://www.echartsjs.com/zh/option.html#title)
 -   - 返回值 `this`
 
 
  |