You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 33KB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608
  1. ---
  2. sidebar: auto
  3. ---
  4. # 基础构成 🌎
  5. ## 命名空间
  6. **`DC`**
  7. CDN 模式下使用 DC 为框架默认命名空间,使用该框架开发时都需要统以 `DC.` 开始
  8. :::danger
  9. 开发时尽量不要使用 DC 为变量名或者命名空间,避免框架无法正常使用。
  10. :::
  11. ## 全局Api
  12. ### ready()
  13. > 框架主入口函数,使用框架时必须以其开始,否则使用框架
  14. ```js
  15. DC.ready({}).then(()=>{})
  16. ```
  17. - 参数
  18. - `{Object} config`:配置参数
  19. - 返回值 `Promise`
  20. ```json
  21. //属性参数(可选)
  22. {
  23. "Cesium": '<自定义的Cesium库,如果未设置,将使用框架内部默认Cesium框架>',
  24. "echarts": '<echarts库,设置后将加载echarts图层>',
  25. "baseUrl": '<Cesium 静态资源路径,默认值为:“./libs/dc-sdk/resources/” >'
  26. }
  27. ```
  28. ### registerLib()
  29. > 框架中注册第三放框架包,
  30. ```js
  31. DC.registerLib("turf",turf)
  32. console.log(DC.__namspace.turf)
  33. ```
  34. - 参数
  35. - `{String} name`:名称
  36. - `{Object} lib`: 库模块
  37. ### getLib()
  38. > 获取框架中注册的第三方框架包,
  39. ```js
  40. let turf = DC.getLib("turf")
  41. ```
  42. - 参数
  43. - `{String} name`:名称
  44. - 返回值 `Object`
  45. ## 常量
  46. > 框架内部默认常量
  47. ::: warning
  48. 开发时请使用默认常量进行开发
  49. :::
  50. ### MouseEventType
  51. **_`DC.MouseEventType.LEFT_DOWN`_**: (场景、图层、覆盖物)鼠标左键按下事件
  52. **_`DC.MouseEventType.LEFT_UP`_**: (场景、图层、覆盖物)鼠标左键抬升事件
  53. **_`DC.MouseEventType.CLICK`_**: (场景、图层、覆盖物)鼠标点击事件
  54. **_`DC.MouseEventType.RIGHT_DOWN`_**: (场景、图层、覆盖物)鼠标右键按下事件
  55. **_`DC.MouseEventType.RIGHT_UP`_**: (场景、图层、覆盖物)鼠标右键按下事件
  56. **_`DC.MouseEventType.RIGHT_CLICK`_**: (场景、图层、覆盖物)鼠标右击事件
  57. **_`DC.MouseEventType.DB_CLICK`_**: (场景、图层、覆盖物)鼠标双击事件
  58. **_`DC.MouseEventType.MOUSE_MOVE`_**: 场景鼠标移动事件
  59. **_`DC.MouseEventType.WHEEL`_**: 场景鼠标滚轮事件
  60. **_`DC.MouseEventType.MOUSE_OVER`_**: 覆盖物鼠标移入事件
  61. **_`DC.MouseEventType.MOUSE_OUT`_**: 覆盖物鼠标移出事件
  62. ### SceneEventType
  63. **_`DC.SceneEventType.CAMERA_MOVE_END`_**: 相机移动完成
  64. **_`DC.SceneEventType.CAMERA_CHANGED`_**: 相机位置完成
  65. **_`DC.SceneEventType.PRE_UPDATE`_**: 场景更新前
  66. **_`DC.SceneEventType.POST_UPDATE`_**: 场景更新后
  67. **_`DC.SceneEventType.PRE_RENDER`_**: 场景渲染前
  68. **_`DC.SceneEventType.POST_RENDER`_**: 场景渲染后
  69. **_`DC.SceneEventType.MORPH_COMPLETE`_**: 场景模式变换完成
  70. **_`DC.SceneEventType.CLOCK_TICK`_**: 时钟跳动
  71. **_`DC.SceneEventType.RENDER_ERROR`_**: 渲染错误
  72. ### MouseMode
  73. **_`DC.MouseMode.LEFT_MIDDLE`_**: 左键拖动,中键翻转(默认)
  74. **_`DC.MouseMode.LEFT_RIGHT`_**: 左键拖动,右键翻转
  75. ### ImageryType
  76. **_`DC.ImageryType.ARCGIS`_**: arcgis 地图
  77. **_`DC.ImageryType.SINGLE_TILE`_**: 单图片地图
  78. **_`DC.ImageryType.WMS`_**: WMS 地图
  79. **_`DC.ImageryType.WMTS`_**: WMTS 地图
  80. **_`DC.ImageryType.XYZ`_**: xyz 格式地图
  81. **_`DC.ImageryType.COORD`_**: 瓦片坐标地图
  82. **_`DC.ImageryType.AMAP`_**: 高德地图
  83. **_`DC.ImageryType.BAIDU`_**: 百度地图
  84. **_`DC.ImageryType.GOOGLE`_**: 谷歌地图
  85. **_`DC.ImageryType.TDT`_**: 天地图
  86. **_`DC.ImageryType.TENCENT`_**: 腾讯地图
  87. **_`DC.ImageryType.GEO_VIS`_**: 星图地图
  88. ### TerrainType
  89. **_`DC.TerrainType.NONE`_**: 无地形
  90. **_`DC.TerrainType.XYZ`_**: xyz 格式地形
  91. **_`DC.TerrainType.GOOGLE`_**: 谷歌地形
  92. **_`DC.TerrainType.ARCGIS`_**: arcgis 地形
  93. **_`DC.TerrainType.VR`_**: VR 地形
  94. ### LayerType
  95. **_`DC.LayerType.VECTOR`_**: 矢量图层
  96. **_`DC.LayerType.PRIMITIVE`_**: 图元图层
  97. **_`DC.LayerType.TILESET`_**: 3dtiles 图层
  98. **_`DC.LayerType.HTML`_**: html 图层
  99. **_`DC.LayerType.GEOJSON`_**: GeoJson 图层
  100. **_`DC.LayerType.CLUSTER`_**: 聚合图层
  101. **_`DC.LayerType.KML`_**: kml 图层
  102. **_`DC.LayerType.CZML`_**: czml 图层
  103. **_`DC.LayerType.HEAT`_**: 热区图层
  104. **_`DC.LayerType.CHART`_**: echarts 图层
  105. ### OverlayType
  106. **_`DC.OverlayType.POINT`_**: 点 **_`可标绘`_**
  107. **_`DC.OverlayType.POLYLINE`_**: 线 **_`可标绘`_**
  108. **_`DC.OverlayType.POLYGON`_**: 面 **_`可标绘`_**
  109. **_`DC.OverlayType.MODEL`_**: 模型
  110. **_`DC.OverlayType.BILLBOARD`_**: 图标点 **_`可标绘`_**
  111. **_`DC.OverlayType.RECTANGLE`_**: 矩形 **_`可标绘`_**
  112. **_`DC.OverlayType.CIRCLE`_**: 圆 **_`可标绘`_**
  113. **_`DC.OverlayType.LABEL`_**: 标签
  114. **_`DC.OverlayType.TILESET`_**: 3DTiles
  115. **_`DC.OverlayType.BOX`_**: 盒
  116. **_`DC.OverlayType.CORRIDOR`_**: 走廊
  117. **_`DC.OverlayType.CYLINDER`_**: 圆柱
  118. **_`DC.OverlayType.ELLIPSE`_**: 椭圆
  119. **_`DC.OverlayType.ELLIPSOID`_**: 球体
  120. **_`DC.OverlayType.PLANE`_**: 面板
  121. **_`DC.OverlayType.POLYLINE_VOLUME`_**: 管道
  122. **_`DC.OverlayType.WALL`_**: 墙体
  123. **_`DC.OverlayType.DYNAMIC_BILLBOARD`_**: 动态图标点
  124. **_`DC.OverlayType.DYNAMIC_MODEL`_**: 动态模型点
  125. **_`DC.OverlayType.CUSTOM_BILLBOARD`_**: 自定义图标
  126. **_`DC.OverlayType.CUSTOM_LABEL`_**: 自定义标签
  127. **_`DC.OverlayType.ATTACK_ARROW`_**: 攻击箭头 **_`可标绘`_**
  128. **_`DC.OverlayType.DOUBLE_ARROW`_**: 双箭头 **_`可标绘`_**
  129. **_`DC.OverlayType.FINE_ARROW`_**: 直箭头 **_`可标绘`_**
  130. **_`DC.OverlayType.GATHERING_PLACE`_**: 聚集地 **_`可标绘`_**
  131. **_`DC.OverlayType.TAILED_ATTACK_ARROW`_**: 燕尾攻击箭头 **_`可标绘`_**
  132. **_`DC.OverlayType.BILLBOARD_PRIMITIVE`_**: 图标图元
  133. **_`DC.OverlayType.DIFFUSE_WALL_PRIMITIVE`_**: 扩散墙图元
  134. **_`DC.OverlayType.ELEC_ELLIPSOID_PRIMITIVE`_**: 电弧球图元
  135. **_`DC.OverlayType.FLOW_LINE_PRIMITIVE`_**: 流动线图元
  136. **_`DC.OverlayType.LABEL_PRIMITIVE`_**: 文本图元
  137. **_`DC.OverlayType.MODEL_PRIMITIVE`_**: 模型图元
  138. **_`DC.OverlayType.POINT_PRIMITIVE`_**: 点图元
  139. **_`DC.OverlayType.POLYLINE_PRIMITIVE`_**: 线图元
  140. **_`DC.OverlayType.SCAN_CIRCLE_PRIMITIVE`_**: 扫描圆图元
  141. **_`DC.OverlayType.TRAIL_LINE_PRIMITIVE`_**: 轨迹线图元
  142. **_`DC.OverlayType.WATER_PRIMITIVE`_**: 水面图元
  143. **_`DC.OverlayType.VIDEO_PRIMITIVE`_**: 视频图元
  144. ### TrackViewMode
  145. **_`DC.TrackViewMode.FP`_**: 第一人称视角
  146. **_`DC.TrackViewMode.TP`_**: 第三人称视角
  147. **_`DC.TrackViewMode.TRACKED`_**: 跟随视角
  148. **_`DC.TrackViewMode.FREE`_**: 自由视角
  149. ## DC.Viewer
  150. > 3D 场景主要接口,在给定的 DivId 中构建三维场景
  151. ### example
  152. ```html
  153. <div id="viewer-container"></div>
  154. ```
  155. ```js
  156. let viewer = DC.Viewer('viewer-container')
  157. global.viewer = viewer // 添加到全局变量
  158. ```
  159. :::warning
  160. 如果开发使用的是 Vue 这样的 MVVM 框架,不要将 viewer、layer、overlay 添加到数据模型中。由于 3D 场景中会不停的刷新每一帧,如果将数据添加到数据模型中,长时间的话会导致浏览器的压力增大而奔溃。
  161. :::
  162. ### creation
  163. - **_constructor(id,[options])_**
  164. 构造函数
  165. - 参数
  166. - `{String | Element } id`:容器 ID
  167. - `{Object} options`:属性
  168. - 返回值 `viewer`
  169. ```json
  170. //属性参数(可选)
  171. {
  172. "contextOptions": {
  173. "webgl": {
  174. "alpha": false, //背景
  175. "depth": true,
  176. "stencil": false,
  177. "antialias": true,
  178. "powerPreference": "high-performance",
  179. "premultipliedAlpha": true,
  180. "preserveDrawingBuffer": false,
  181. "failIfMajorPerformanceCaveat": false
  182. },
  183. "allowTextureFilterAnisotropic": true
  184. },
  185. "sceneMode": 3 //1: 2.5D,2: 2D,3: 3D
  186. }
  187. ```
  188. ### properties
  189. - `{Element} container`:场景容器 **_`readonly`_**
  190. - `{Element} widgetContainer`:场景组件容器 **_`readonly`_**
  191. - `{Element} layerContainer`:场景图层容器 **_`readonly`_**
  192. - `{Object} scene`:场景 **_`readonly`_**,详情参考:[Scene](http://resource.dvgis.cn/cesium-docs/Scene.html)
  193. - `{Object} camera`:相机 **_`readonly`_**,详情参考:[Camera](http://resource.dvgis.cn/cesium-docs/Scene.html)
  194. - `{Element} canvas`:canvas 节点 **_`readonly`_**
  195. - `{Object} clock`:时钟,详情参考:[Clock](http://resource.dvgis.cn/cesium-docs/Clock.html)
  196. - `{Object} dataSources`:数据资源集合,详情参考:[DataSourceCollection](http://resource.dvgis.cn/cesium-docs/DataSourceCollection.html)
  197. - `{Object} imageryLayers`:瓦片集合,详情参考:[ImageryLayerCollection](http://resource.dvgis.cn/cesium-docs/ImageryLayerCollection.html)
  198. - `{Object} entities`:实体集合,详情参考:[EntityCollection](http://resource.dvgis.cn/cesium-docs/EntityCollection.html)
  199. - [`{Popup} popup`](#popup):气泡窗口 **_`readonly`_**
  200. - [`{ContextMenu} contextMenu`](#contextmenu):右击弹框 **_`readonly`_**
  201. - [`{Tooltip} tooltip`](#tooltip):提示框 **_`readonly`_**
  202. - [`{MapSplit} mapSplit`](#mapsplit):地图分割 **_`readonly`_**
  203. - [`{TilesetSplit} tilesetSplit`](#tilesetsplit):模型分割 **_`readonly`_**
  204. - [`{SceneSplit} sceneSplit`](#scenesplit):场景分割 **_`readonly`_**
  205. - [`{Compass} compass`](#compass):罗盘 **_`readonly`_**
  206. - [`{ZoomController} zoomController`](#zoomcontroller):罗盘 **_`readonly`_**
  207. - [`{LocationBar} locationBar`](#locationbar):坐标信息 **_`readonly`_**
  208. - [`{DistanceLegend} distanceLegend`](#distancelegend):比例尺 **_`readonly`_**
  209. - [`{LoadingMask} loadingMask`](#loadingmask):加载蒙层 **_`readonly`_**
  210. - `{Position} cameraPosition`:相机位置 **_`readonly`_**
  211. - `{Number} resolution`:分辨率 **_`readonly`_**
  212. - `{Number} zoom`: 当前层级 **_`readonly`_**
  213. - `{Rect} viewBounds`:视野范围 **_`readonly`_**
  214. ### methods
  215. - **_setOptions(options)_**
  216. 设置属性
  217. - 参数
  218. - `{Object} options`:属性对象
  219. - 返回值 `this`
  220. ```json
  221. // 属性参数(可选)
  222. {
  223. "shadows": false, // 是否开启阴影
  224. "resolutionScale": 1, // 设置渲染分辨率的缩放比例
  225. "showAtmosphere": true, //是否显示大气层
  226. "showSun": true, //是否显示太阳
  227. "showMoon": true, //是否显示月亮
  228. "enableFxaa": true, //是否开启抗锯齿
  229. "msaaSamples": 1, //msaa抗拒出取样度
  230. "cameraController": {
  231. // 相机控制
  232. "enableRotate": true, // 是否可以旋转
  233. "enableTilt": true, // 是否可以翻转
  234. "enableTranslate": true, // 是否可以平移
  235. "enableZoom": true, // 是否可以缩放
  236. "enableCollisionDetection": true, // 是否支持碰撞检测
  237. "minimumZoomDistance": 1.0, // 最小缩放距离
  238. "maximumZoomDistance": 40489014.0 // 最大缩放距离
  239. },
  240. "globe": {
  241. "show": true, // 是否显示地球
  242. "showGroundAtmosphere": true, // 显示地面大气
  243. "enableLighting": false, //是否开启灯光,开启后地球会根据当前时间启用灯光
  244. "depthTestAgainstTerrain": false, //是否开启深度检测
  245. "tileCacheSize": 100, // 默认瓦片缓存大小
  246. "preloadSiblings": false, //是否应预加载渲染同级图块
  247. "terrainExaggeration": 1, //地形夸张系数
  248. "terrainExaggerationRelativeHeight": 1, //地形相对高度夸张系数
  249. "baseColor": new DC.Color(0, 0, 0.5, 1), //地球默认底色
  250. "filterColor": new DC.Color(0, 0, 0, 0), //瓦片过滤色,设置后不可逆
  251. "translucency": {
  252. //地表透明
  253. "enabled": false, // 是否开启地表透明
  254. "backFaceAlpha": 1, // 地球背面透明度
  255. "backFaceAlphaByDistance": null, //根据距离设置地球背面透明度: {near:400,nearValue:0.2,far:800,farValue:1}
  256. "frontFaceAlpha": 1, // 地球正面透明度
  257. "frontFaceAlphaByDistance": null //根据距离设置地球正面透明度: {near:400,nearValue:0.2,far:800,farValue:1}
  258. }
  259. },
  260. "skyBox": {
  261. "sources": {}, // 六个面的贴图
  262. "show": true, //是否显示
  263. "offsetAngle": 0 //旋转角度
  264. }
  265. }
  266. ```
  267. - **_setPitchRange(min,max)_**
  268. 设置翻转角度
  269. - 参数
  270. - `{Number} min`:最小角度
  271. - `{Number} max`:最大角度
  272. - 返回值 `this`
  273. - **_changeSceneMode(sceneMode, duration)_**
  274. 改变场景模式
  275. - 参数
  276. - `{Number} sceneMode`:场景模式 ,2:2D,3:3D,2.5:2.5D
  277. - `{Number} duration`:间隔时间
  278. - 返回值 `this`
  279. - **_changeMouseMode(mouseMode)_**
  280. 改变鼠标使用模式
  281. - 参数
  282. - `{Number} mouseMode`:鼠标模式,详情参考:`DC.MouseMode`
  283. - 返回值 `this`
  284. - **_addBaseLayer(baseLayers,options)_**
  285. 添加地图
  286. - 参数
  287. - `{baseLayer|Array<baseLayer>} baseLayers`:地图
  288. - `{Object} options`:属性
  289. - 返回值 `this`
  290. ```json
  291. //属性参数 (可选)
  292. {
  293. "name": "电子地图", //名称
  294. "iconUrl": "../preview.png" //缩略图
  295. "alpha" : 1.0,
  296. "nightAlpha" : 1.0,
  297. "dayAlpha" : 1.0,
  298. "brightness" : 1.0,
  299. "contrast" : 1.0,
  300. "hue" : 1.0,
  301. "saturation : 1.0,
  302. "gamma : 1.0,
  303. }
  304. ```
  305. - **_changeBaseLayer(index)_**
  306. 更改地图
  307. - 参数
  308. - `{Number} index`:地图索引
  309. - 返回值 `this`
  310. - **_getImageryLayerInfo(windowPosition)_**
  311. 获取瓦片信息
  312. - 参数
  313. - `{Object} windowPosition`:窗口坐标
  314. - 返回值 `promise`
  315. - **_setTerrain(terrain)_**
  316. 设置地形
  317. - 参数
  318. - `{Terrain} terrain`:地形
  319. - 返回值 `this`
  320. - **_addLayerGroup(layerGroup)_**
  321. 添加图层组
  322. - 参数
  323. - `{LayerGroup} layerGroup`:图层组
  324. - 返回值 `this`
  325. - **_removeLayerGroup(layerGroup)_**
  326. 移除图层组
  327. - 参数
  328. - `{LayerGroup} layerGroup`:图层组
  329. - 返回值 `this`
  330. - **_getLayerGroup(id)_**
  331. 获取图层组
  332. - 参数
  333. - `{String} id`:图层组 ID
  334. - 返回值 `layerGroup`
  335. - **_addLayer(layer)_**
  336. 添加图层
  337. - 参数
  338. - `{Layer} layer`:图层
  339. - 返回值 `this`
  340. - **_removeLayer(layer)_**
  341. 删除图层
  342. - 参数
  343. - `{Layer} layer`:图层
  344. - 返回值 `this`
  345. - **_getLayer(id)_**
  346. 获取图层
  347. - 参数
  348. - `{String} id`:图层 ID
  349. - 返回值 `layer`
  350. - **_getLayers()_**
  351. 获取所有图层,不包括地图
  352. - 返回值 `layer`
  353. - **_eachLayer(method, context)_**
  354. 遍历所有图层
  355. - 参数
  356. - `{Function} method`:回调函数
  357. - `{Object} context`:上下文,默认为 this
  358. - 返回值 `this`
  359. ```js
  360. viewer.eachLayer((layer) => {})
  361. ```
  362. - **_flyTo(target,duration)_**
  363. 飞向目标
  364. - 参数
  365. - `{VectorLayer|Overlay} target` :目标
  366. - `{Number} duration`:飞到位置时间,单位:秒
  367. - 返回值 `this`
  368. - **_zoomTo(target)_**
  369. 缩放到目标
  370. - 参数
  371. - `{VectorLayer|Overlay} target` :目标
  372. - 返回值 `this`
  373. - **_flyToPosition(position, completeCallback, duration)_**
  374. 飞到具体位置
  375. - 参数
  376. - `{Position} position`:位置
  377. - `{Function} completeCallback`:飞完之后触发的回调
  378. - `{Number} duration`:飞到位置时间,单位:秒
  379. - 返回值 `this`
  380. - **_zoomToPosition(position, completeCallback)_**
  381. 缩放到具体位置
  382. - 参数
  383. - `{DC.Position} position`:位置
  384. - `{Function} completeCallback`:缩放完成后触发的回调
  385. - 返回值 `this`
  386. - **_flyToBounds(bounds,{heading,pitch,roll}, completeCallback, duration)_**
  387. 飞到指定的范围
  388. - 参数
  389. - `{String|Array} bounds`:范围,格式:[minX,minY,maxX,maxY]
  390. - `{Object} hpr`:方位角
  391. - `{Function} completeCallback`:飞完之后触发的回调
  392. - `{Number} duration`:飞到位置时间,单位:秒
  393. - 返回值 `this`
  394. - **_zoomToBounds(bounds,{heading,pitch,roll}, completeCallback)_**
  395. 缩放到指定的范围
  396. - 参数
  397. - `{String|Array} bounds`:范围,格式:[minX,minY,maxX,maxY]
  398. - `{Object} hpr`:方位角
  399. - `{Function} completeCallback`:缩放完之后触发的回调
  400. - 返回值 `this`
  401. - **_on(type, callback, context)_**
  402. 事件订阅
  403. - 参数
  404. - `{Object} type` :订阅类型
  405. - `{Function} callback` :订阅回调
  406. - `{Object} context` :上下文
  407. - 返回值 `this`
  408. - **_once(type, callback, context)_**
  409. 事件订阅(一次)
  410. - 参数
  411. - `{Object} type` :订阅类型
  412. - `{Function} callback` :订阅回调
  413. - `{Object} context` :上下文
  414. - 返回值 `this`
  415. - **_off(type, callback, context)_**
  416. 取消事件订阅
  417. - 参数
  418. - `{Object} type` :订阅类型
  419. - `{Function} callback` :订阅回调
  420. - `{Object} context` :上下文
  421. - 返回值 `this`
  422. - **_destroy()_**
  423. 销毁三维场景
  424. - 返回值 `this`
  425. - **_exportScene(name)_**
  426. 导出场景
  427. - 参数
  428. - `{String} name` :名称,默认为 scene
  429. - 返回值 `this`
  430. ## Popup
  431. > 气泡窗口
  432. ### example
  433. ```js
  434. let popup = viewer.popup
  435. popup.setContent('<div></div>')
  436. ```
  437. ### properties
  438. - `{String} state`:状态 **_`readonly`_**
  439. - `{Object} config`:配置 **_`writeOnly`_**
  440. ```json
  441. // 配置(可选)
  442. // 配置后会影响全局的popup的显示样式,请慎重。
  443. {
  444. "position": "center", // popup的位于鼠标的点击位置的方向,有:center,left ,right
  445. "customClass": "custom" // 添加自定义的Css 类名到popup中,多个用空格隔开
  446. }
  447. ```
  448. ### methods
  449. - **_setPosition(position)_**
  450. 设置位置
  451. - 参数
  452. - `{Cartesian3} position`:世界坐标
  453. - 返回值 `this`
  454. - **_setContent(content)_**
  455. 设置内容
  456. - 参数
  457. - `{String|Element} content`:内容
  458. - 返回值 `this`
  459. - **_setWrapper(wrapper)_**
  460. 设置容器
  461. - 参数
  462. - `{Element} wrapper`:容器 **_`(一般用于 MVVM 框架的模板)`_**
  463. - 返回值 `this`
  464. - **_showAt(position, content)_**
  465. 设置内容
  466. - 参数
  467. - `{Cartesian3} position`:世界坐标
  468. - `{String|Element} content`:内容
  469. - 返回值 `this`
  470. - **_hide()_**
  471. 隐藏气泡窗口
  472. - 返回值 `this`
  473. ## ContextMenu
  474. > 右击菜单
  475. ### example
  476. ```js
  477. let contextMenu = viewer.contextMenu
  478. contextMenu.enable = true
  479. contextMenu.DEFAULT_MENU = [
  480. {
  481. label: '测试',
  482. callback: (e) => {}, // e是一个对象主要包括 windowPosition,position,surfacePosition,overlay
  483. context: this,
  484. },
  485. ] // 设置默认的右击菜单,会影响全局右击菜单(慎用)。
  486. ```
  487. ### properties
  488. - `{Boolean} enable`:是否启用
  489. - `{String} state`:状态 **_`readonly`_**
  490. - `{Array} DEFAULT_MENU`:默认菜单,菜单的回调函数参数为一个对象 **_`writeOnly`_**
  491. ## Tooltip
  492. > 提示框
  493. ### example
  494. ```js
  495. let tooltip = viewer.tooltip
  496. tooltip.enable = true
  497. tooltip.showAt({ x: 100, y: 100 }, '测试')
  498. ```
  499. ### properties
  500. - `{Boolean} enable`:是否启用
  501. - `{String} state`:状态 **_`readonly`_**
  502. ### methods
  503. - **_showAt(position,content)_**
  504. 设置位置
  505. - 参数
  506. - `{Cartesian2} position`:屏幕坐标
  507. - `{String|Element} content`:内容
  508. - 返回值 `this`
  509. ## MapSplit
  510. > 地图分割
  511. ### examples
  512. ```js
  513. let baseLayer_elc = DC.ImageryLayerFactory.createGoogleImageryLayer()
  514. viewer.mapSplit.enable = true
  515. viewer.mapSplit.addBaseLayer(baseLayer_elc, -1)
  516. ```
  517. ### properties
  518. - `{Boolean} enable`:是否启用
  519. - `{String} state`:状态 **_`readonly`_**
  520. ### methods
  521. - **_addBaseLayer(baseLayer,[splitDirection])_**
  522. 添加地图
  523. - 参数
  524. - `{BaseLayer} baseLayer`:地图
  525. - `{Number} splitDirection`:分割方向,-1:左,0:无,1:右
  526. - 返回值 `this`
  527. ## TilesetSplit
  528. > 模型分割
  529. ### examples
  530. ```js
  531. let tileset = new DC.Tileset('**/tileset.json')
  532. tileset.setSplitDirection(1)
  533. viewer.tilesetSplit.enable = true
  534. viewer.tilesetSplit.addTileset(tileset)
  535. ```
  536. ### properties
  537. - `{Boolean} enable`:是否启用
  538. - `{String} state`:状态 **_`readonly`_**
  539. ### methods
  540. - **_addTileset(tileset)_**
  541. 添加地图
  542. - 参数
  543. - `{Tileset} tileset`:模型
  544. - 返回值 `this`
  545. ## SceneSplit
  546. > 场景分割
  547. ### examples
  548. ```js
  549. let tileset = new DC.Tileset('**/tileset.json')
  550. tileset.setSplitDirection(1)
  551. viewer.sceneSplit.enable = true
  552. viewer.sceneSplit.addTileset(tileset)
  553. ```
  554. ### properties
  555. - `{Boolean} enable`:是否启用
  556. - `{String} state`:状态 **_`readonly`_**
  557. ### methods
  558. - **_addBaseLayer(baseLayer)_**
  559. 添加地图
  560. - 参数
  561. - `{BaseLayer} baseLayer`:地图
  562. - 返回值 `this`
  563. - **_addTileset(tileset)_**
  564. 添加地图
  565. - 参数
  566. - `{Tileset} tileset`:模型
  567. - 返回值 `this`
  568. ## Compass
  569. > 罗盘
  570. ### examples
  571. ```js
  572. viewer.compass.enable = true
  573. ```
  574. ### properties
  575. - `{Boolean} enable`:是否启用
  576. - `{String} state`:状态 **_`readonly`_**
  577. ## ZoomController
  578. > 缩放控制
  579. ### examples
  580. ```js
  581. viewer.zoomController.enable = true
  582. ```
  583. ### properties
  584. - `{Boolean} enable`:是否启用
  585. - `{String} state`:状态 **_`readonly`_**
  586. ## LocationBar
  587. > 坐标信息
  588. ### examples
  589. ```js
  590. viewer.locationBar.enable = true
  591. ```
  592. ### properties
  593. - `{Boolean} enable`:是否启用
  594. - `{String} state`:状态 **_`readonly`_**
  595. ## DistanceLegend
  596. > 比例尺
  597. ### examples
  598. ```js
  599. viewer.distanceLegend.enable = true
  600. ```
  601. ### properties
  602. - `{Boolean} enable`:是否启用
  603. - `{String} state`:状态 **_`readonly`_**
  604. ## LoadingMask
  605. > 加载蒙层
  606. ### examples
  607. ```js
  608. viewer.loadingMask.enable = true
  609. ```
  610. ### properties
  611. - `{Boolean} enable`:是否启用
  612. - `{String} state`:状态 **_`readonly`_**
  613. ## DC.SkyBox
  614. > 天空盒,[详情参考](http://resource.dvgis.cn/cesium-docs/SkyBox.html)
  615. ### example
  616. ```js
  617. scene.skyBox = new DC.SkyBox({
  618. sources: {
  619. positiveX: 'skybox_px.png',
  620. negativeX: 'skybox_nx.png',
  621. positiveY: 'skybox_py.png',
  622. negativeY: 'skybox_ny.png',
  623. positiveZ: 'skybox_pz.png',
  624. negativeZ: 'skybox_nz.png',
  625. },
  626. })
  627. ```
  628. ### creation
  629. - **_constructor(id)_**
  630. 构造函数
  631. - 参数
  632. - `{Object} options`:配置
  633. - 返回值 `skyBox`
  634. ```json
  635. //options(可选)
  636. {
  637. "sources": {}, // 六个面的贴图
  638. "show": true //显示
  639. }
  640. ```
  641. ### properties
  642. - `{Object} sources`:六个面的贴图
  643. - `{Boolean} show`:显示
  644. ## DC.GroundSkyBox
  645. > 近地天空盒,[详情参考](http://resource.dvgis.cn/cesium-docs/SkyBox.html)
  646. ### example
  647. ```js
  648. scene.skyBox = new DC.GroundSkyBox({
  649. sources: {
  650. positiveX: 'skybox_px.png',
  651. negativeX: 'skybox_nx.png',
  652. positiveY: 'skybox_py.png',
  653. negativeY: 'skybox_ny.png',
  654. positiveZ: 'skybox_pz.png',
  655. negativeZ: 'skybox_nz.png',
  656. },
  657. })
  658. ```
  659. ### creation
  660. - **_constructor(id)_**
  661. 构造函数
  662. - 参数
  663. - `{Object} options`:配置
  664. - 返回值 `skyBox`
  665. ```json
  666. //options(可选)
  667. {
  668. "sources": {}, // 六个面的贴图
  669. "show": true, //显示
  670. "offsetAngle": 0 //旋转角度
  671. }
  672. ```
  673. ### properties
  674. - `{Object} sources`:六个面的贴图
  675. - `{Boolean} show`:显示
  676. - `{Number} offsetAngle`:旋转角度
  677. ## DC.Position
  678. > 坐标类,用于描述物体在场景中的具体位置,采用右手标准
  679. ### example
  680. ```js
  681. let position = new DC.Position(120, 22, 102)
  682. let position1 = DC.Position.fromString('120,22,102')
  683. let position2 = DC.Position.fromArray([120, 22, 102])
  684. let position3 = DC.Position.fromObject({ lng: 120, lat: 22, height: 102 })
  685. ```
  686. ### creation
  687. - **_constructor(lng,lat,alt,heading,pitch,roll)_**
  688. 构造函数
  689. - 参数
  690. - `{Number} lng`:经度
  691. - `{Number} lat`:纬度
  692. - `{Number} alt`:高度,单位:米,默认:0
  693. - `{Number} heading`:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0
  694. - `{Number} pitch`:俯仰角度,表示绕 Y 轴旋转。默认:0
  695. - `{Number} roll`:翻转角度,表示绕 X 轴旋转。默认:0
  696. - 返回值 `position`
  697. ### properties
  698. - `{Number} lng`:经度
  699. - `{Number} lat`:纬度
  700. - `{Number} alt`:高度,单位:米,默认:0
  701. - `{Number} heading`:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0
  702. - `{Number} pitch`:俯仰角度,表示绕 Y 轴旋转。默认:0
  703. - `{Number} roll`:翻转角度,表示绕 X 轴旋转。默认:0
  704. ### methods
  705. - **_serialize()_**
  706. 序列化
  707. - 返回值 `string`
  708. - **_copy()_**
  709. 复制一个新的位置
  710. - 返回值 `position`
  711. - **_toString()_**
  712. 将坐标字符化
  713. - 返回值 `string`
  714. - **_toArray()_**
  715. 将坐标数组化
  716. - 返回值 `array`
  717. - **_toObject()_**
  718. 将坐标对象化
  719. - 返回值 `Object`
  720. ### static methods
  721. - **_fromString(str)_**
  722. 将字符化坐标转换为坐标对象
  723. - 参数
  724. - `{String} str`:字符化坐标
  725. - 返回值 `position`
  726. - **_fromArray(array)_**
  727. 将数组化坐标转换为坐标对象
  728. - 参数
  729. - `{Array} array`:数组化坐标
  730. - 返回值 `position`
  731. - **_fromObject(obj)_**
  732. 将 Json 对象坐标转换为坐标对象
  733. - 参数
  734. - `{Object} obj`:Json 对象坐标
  735. - 返回值 `position`
  736. - **_fromCoordString(str)_** `deprecated`
  737. 字符坐标串转换为坐标对象
  738. - 参数
  739. - `{String} str`:字符坐标串
  740. - 返回值 `position`
  741. - **_fromCoordArray(array)_** `deprecated`
  742. 坐标数组转换为坐标对象
  743. - 参数
  744. - `{Array<String|Number>} array`:坐标数组
  745. - 返回值 `position`
  746. - **_deserialize(valStr)_**
  747. 反序列化
  748. - 参数
  749. - `{String} valStr`:序列化的对象
  750. - 返回值 `position`
  751. ## DC.Color
  752. > 颜色类
  753. ### example
  754. ```js
  755. let red = DC.Color.RED
  756. ```
  757. ### properties
  758. - `{Color} RED`:红色
  759. - `{Color} YELLOW`:黄色
  760. - `{Color} WHITE`:白色
  761. - `{Color} GREEN`:绿色
  762. [其他颜色](http://resource.dvgis.cn/cesium-docs/Color.html)
  763. ## DC.TilesetStyle
  764. > tileset 样式,用于设置 3dtiles 的颜色设置
  765. ### example
  766. ```js
  767. let style = new DC.TilesetStyle()
  768. style.color = {
  769. conditions: [
  770. ['${floor} >= 5', 'rgb(198, 106, 11)'],
  771. ['true', 'rgb(127, 59, 8)'],
  772. ],
  773. }
  774. ```
  775. [详情参考](http://resource.dvgis.cn/cesium-docs/Cesium3DTileStyle.html)
  776. ## DC.JulianDate
  777. > 朱莉安日历
  778. ```js
  779. let date = DC.JulianDate.now()
  780. ```
  781. ### static methods
  782. - **_now()_**
  783. 当前朱莉安时间
  784. - 返回值 `date`
  785. - **_fromDate(date)_**
  786. 通过 Js 时间创建朱莉安时间
  787. - 参数
  788. - `{Date} date`:Js 时间
  789. - 返回值 `date`
  790. [JulianDate](http://resource.dvgis.cn/cesium-docs/JulianDate.html)
  791. ## DC.Rectangle
  792. > 矩形相关函数
  793. ### example
  794. ```js
  795. let r = DC.Rectangle.fromDegrees(10, 20, 12, 31)
  796. ```
  797. [详情参考](http://resource.dvgis.cn/cesium-docs/Rectangle.html)
  798. ## DC.CallbackProperty
  799. > 回调属性,用户通过自定义回调函数来返回需要的值。回调函数中,用户可以使用 time 给定 value,也可以自定设置。
  800. ```js
  801. let position = new DC.Position(120, 20)
  802. let point = new DC.Point(position)
  803. let size = 0
  804. point.setStyle({
  805. pixelSize: new DC.CallbackProperty((time) => {
  806. size += 1
  807. if (size == 10) {
  808. size = 0
  809. }
  810. return size
  811. }),
  812. })
  813. ```
  814. ## DC.Parse
  815. > 坐标解析工具类,可简写为 DC.P
  816. ```js
  817. let position = DC.P.parsePosition('123,32,0')
  818. ```
  819. ### static methods
  820. - **_parsePosition(position)_**
  821. 解析坐标为 DC.Position
  822. - 参数
  823. - `{String|Array|Position} position`:坐标
  824. - 返回值 `position`
  825. - **_parsePositions(positions)_**
  826. 解析坐标为 Array<DC.Position>
  827. - 参数
  828. - `{String|Array} positions`: 坐标
  829. - 返回值 `array`
  830. - **_parsePointCoordToArray(position)_**
  831. 解析点位坐标为数组
  832. - 参数
  833. - `{String|Position} position`:点位坐标
  834. - 返回值 `array`
  835. - **_parsePolylineCoordToArray(positions)_**
  836. 解析线坐标为二维数组
  837. - 参数
  838. - `{String|Array} positions`:线坐标
  839. - 返回值 `array`
  840. - **_parsePolygonCoordToArray(positions,loop)_**
  841. 解析面坐标为三维数组
  842. - 参数
  843. - `{String|Array} positions`:面坐标
  844. - `{Boolean} loop`:闭合
  845. - 返回值 `array`
  846. ## DC.Transform
  847. > 坐标转换工具类 ,可简写为 DC.T
  848. ```js
  849. let cartesian3 = DC.T.transformWGS84ToCartesian(new DC.Position(120, 20))
  850. ```
  851. ### static methods
  852. - **_transformCartesianToWGS84(cartesian)_**
  853. 世界坐标转换为 84 坐标
  854. - 参数
  855. - `{Cartesian3} cartesian`:世界坐标
  856. - 返回值 `position`
  857. - **_transformWGS84ToCartesian(position)_**
  858. 84 坐标转换为世界坐标
  859. - 参数
  860. - `{Position} position`:84 坐标
  861. - 返回值 `cartesian`
  862. - **_transformWGS84ToCartographic(position)_**
  863. 84 坐标转换为制图坐标
  864. - 参数
  865. - `{Position} position`:84 坐标
  866. - 返回值 `cartographic`
  867. - **_transformCartesianArrayToWGS84Array(cartesianArr)_**
  868. 世界坐标数组转 84 坐标数组
  869. - 参数
  870. - `{Array<cartesian3>} cartesianArr`:世界坐标数组
  871. - 返回值 `array`
  872. - **_transformWGS84ArrayToCartesianArray(WGS84Arr)_**
  873. 84 坐标数组转世界坐标数组
  874. - 参数
  875. - `{Array<cartesian3>} WGS84Arr`:84 坐标数组
  876. - 返回值 `array`
  877. - **_transformWGS84ToMercator(position)_**
  878. 84 坐标转 Mercator
  879. - 参数
  880. - `{Position} position`:84 坐标
  881. - 返回值 `position`
  882. - **_transformMercatorToWGS84(position)_**
  883. Mercator 坐标转 84
  884. - 参数
  885. - `{Position} position`:Mercator 坐标
  886. - 返回值 `position`
  887. - **_transformWindowToWGS84(position,viewer)_**
  888. 屏幕坐标转 84
  889. - 参数
  890. - `{Object} position`: 屏幕坐标,格式`{x:1,y:1}`
  891. - `{Viewer} viewer`:3D 场景
  892. - 返回值 `position`
  893. - **_transformWGS84ToWindow(position,viewer)_**
  894. 84 转屏幕坐标
  895. - 参数
  896. - `{Position} position`: 84 坐标
  897. - `{Viewer} viewer`:3D 场景
  898. - 返回值 `Object`
  899. ## DC.CoordTransform
  900. > 国内坐标转换工具
  901. ```js
  902. let point = DC.CoordTransform.BD09ToGCJ02(120, 20)
  903. ```
  904. ### static methods
  905. - **_BD09ToGCJ02(lng, lat)_**
  906. 百度坐标系 (BD-09) 的转换 火星坐标系 (GCJ-02)
  907. - 参数
  908. - `{Number} lng`:经度
  909. - `{Number} lat`:纬度
  910. - 返回值 `[]`
  911. - **_GCJ02ToBD09(lng, lat)_**
  912. 火星坐标系 (GCJ-02) 转换为 百度坐标系 (BD-09)
  913. - 参数
  914. - `{Number} lng`:经度
  915. - `{Number} lat`:纬度
  916. - 返回值 `[]`
  917. - **_WGS84ToGCJ02(lng, lat)_**
  918. WGS-84 转换为 火星坐标系 (GCJ-02)
  919. - 参数
  920. - `{Number} lng`:经度
  921. - `{Number} lat`:纬度
  922. - 返回值 `[]`
  923. - **_GCJ02ToWGS84(lng, lat)_**
  924. 火星坐标系 (GCJ-02) 转换为 WGS-84
  925. - 参数
  926. - `{Number} lng`:经度
  927. - `{Number} lat`:纬度
  928. - 返回值 `[]`
  929. ## DC.Math
  930. > 基本函数类
  931. ### static methods
  932. - **_area(positions)_**
  933. 面积,单位:平方米
  934. - 参数
  935. - `{Array<Position>} positions`: 点位数据
  936. - 返回值 `number`
  937. - **_bounds(positions , expand)_**
  938. 边界
  939. - 参数
  940. - `{Array<Position>} positions`: 点位数据
  941. - `{Number}} expand`: 扩展比例:0~1
  942. - 返回值 `object`
  943. - **_mid(start , end)_**
  944. 两点之间的中心点
  945. - 参数
  946. - `start`: 开始位置
  947. - `end`: 结束位置
  948. - 返回值 `position`
  949. - **_center(positions)_**
  950. 中心点
  951. - 参数
  952. - `{Array<Position>} positions`: 点位数据
  953. - 返回值 `position`
  954. - **_distance(positions)_**
  955. 距离,单位:米
  956. - 参数
  957. - `{Array<Position>} positions`: 点位数据
  958. - 返回值 `number`
  959. - **_heading(start,end)_**
  960. 偏转角度,单位:度
  961. - 参数
  962. - `start`: 开始位置
  963. - `end`: 结束位置
  964. - 返回值 `number`
  965. - **_parabola(start, end,height,count)_**
  966. 抛物线
  967. - 参数
  968. - `start`: 开始位置
  969. - `end`: 结束位置
  970. - `{Number} height`: 最高点高度
  971. - `{Number} count`: 点位数量
  972. - 返回值 `Array`
  973. > [more](http://resource.dvgis.cn/cesium-docs/Math.html)
  974. ## DC.Util
  975. > 工具类
  976. ### static methods
  977. - **_uuid(prefix)_**
  978. 生成 uuid
  979. - 参数
  980. - `{String} prefix`:前缀,默认为 D
  981. - 返回值 `string`
  982. - **_merge(dest, ...sources)_**
  983. 属性合并
  984. - 参数
  985. - `{Object} dest`:目标对象
  986. - `{Object|Array} sources`:需要合并的属性
  987. - 返回值 `object`
  988. - **_emptyImageUrl()_**
  989. 空图片
  990. - **_debounce(fn,delay)_**
  991. 防抖
  992. - **_throttle(fn,delay)_**
  993. 节流
  994. ## DC.DomUtil
  995. > Dom 工具类
  996. ### static methods
  997. - **_get(id)_**
  998. 创建 dom
  999. - 参数
  1000. - `{String} id`: 要素 ID
  1001. - 返回值 `Element`
  1002. - **_create(tagName, className, [container])_**
  1003. 创建 dom
  1004. - 参数
  1005. - `{String} tagName`: 标签名
  1006. - `{String} className`: 样式名,多个用空格隔开
  1007. - `{Element} [container]`: 父容器
  1008. - 返回值 `Element`
  1009. - **_addClass(el, name)_**
  1010. 添加类名
  1011. - 参数
  1012. - `{Element} el`: 要素
  1013. - `{String} className`: 样式名,多个用空格隔开
  1014. - **_removeClass(el, name)_**
  1015. 删除类名
  1016. - 参数
  1017. - `{Element} el`: 要素
  1018. - `{String} className`: 样式名,多个用空格隔开
  1019. - **_addClass(el, name)_**
  1020. 添加类名
  1021. - 参数
  1022. - `{Element} el`: 要素
  1023. - `{String} className`: 样式名,多个用空格隔开
  1024. - **_createSvg(width, height, path, [container])_**
  1025. 添加类名
  1026. - 参数
  1027. - `{Number} width`: 宽度
  1028. - `{Number} height`: 高度
  1029. - `{String} path`: 路径
  1030. - `{Element} [container]`: 父容器
  1031. - 返回值 `svg`
  1032. - **_parseDom(domStr, [withWrapper], [className])_**
  1033. 字符串转 Dom
  1034. - 参数
  1035. - `{String} domStr`: dom 字符串
  1036. - `{Boolean} withWrapper`:返回是否含有父容器
  1037. - `{String} className`: 类样式名称
  1038. - 返回值 `Element | Nodes`
  1039. - **_enterFullscreen(el)_**
  1040. 进入全屏
  1041. - 参数
  1042. - `{Element} el`: 要素
  1043. - **_exitFullscreen()_**
  1044. 退出全屏
  1045. - **_createVideo(url, className, [container])_**
  1046. 创建视频节点
  1047. - 参数
  1048. - `{String} url`: 视频地址
  1049. - `{String} className`: 样式名,多个用空格隔开
  1050. - `{Element} [container]`: 父容器
  1051. - 返回值 `Element | Nodes`