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 34KB

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