|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343 |
- # 基础 API 🌎
-
- ## DC.Viewer
-
- > 3D 场景主要接口,在给定的 DivId 中构建三维场景
-
- ### example
-
- ```html
- <div id="viewer-container"></div>
- ```
-
- ```js
- let viewer = DC.Viewer('viewer-container')
- global.viewer = viewer // 添加到全局变量
- ```
-
- :::warning
- 如果开发使用的是 Vue 这样的 MVVM 框架,不要将 viewer、layer、overlay 添加到数据模型中。由于 3D 场景中会不停的刷新每一帧,如果将数据添加到数据模型中,长时间的话会导致浏览器的压力增大而奔溃。
- :::
-
- ### creation
-
- - **_constructor(id,[options])_**
-
- 构造函数
-
- - 参数
- - `{String | Element } id`:容器 ID
- - `{Object} options`:属性
- - 返回值 `viewer`
-
- ```json
- //属性参数(可选)
- {
- "contextOptions": {
- "webgl": {
- "alpha": false, //背景
- "depth": true,
- "stencil": false,
- "antialias": true,
- "powerPreference": "high-performance",
- "premultipliedAlpha": true,
- "preserveDrawingBuffer": false,
- "failIfMajorPerformanceCaveat": false
- },
- "allowTextureFilterAnisotropic": true
- },
- "sceneMode": 3 //1: 2.5D,2: 2D,3: 3D
- }
- ```
-
- ### properties
-
- - `{Element} container`:场景容器 **_`readonly`_**
- - `{Element} widgetContainer`:场景组件容器 **_`readonly`_**
- - `{Element} layerContainer`:场景图层容器 **_`readonly`_**
- - `{Object} scene`:场景 **_`readonly`_**,详情参考:[Scene](http://resource.dvgis.cn/cesium-docs/Scene.html)
- - `{Object} camera`:相机 **_`readonly`_**,详情参考:[Camera](http://resource.dvgis.cn/cesium-docs/Scene.html)
- - `{Element} canvas`:canvas 节点 **_`readonly`_**
- - `{Object} clock`:时钟,详情参考:[Clock](http://resource.dvgis.cn/cesium-docs/Clock.html)
- - `{Object} dataSources`:数据资源集合,详情参考:[DataSourceCollection](http://resource.dvgis.cn/cesium-docs/DataSourceCollection.html)
- - `{Object} imageryLayers`:瓦片集合,详情参考:[ImageryLayerCollection](http://resource.dvgis.cn/cesium-docs/ImageryLayerCollection.html)
- - `{Object} entities`:实体集合,详情参考:[EntityCollection](http://resource.dvgis.cn/cesium-docs/EntityCollection.html)
- - [`{Popup} popup`](#popup):气泡窗口 **_`readonly`_**
- - [`{ContextMenu} contextMenu`](#contextmenu):右击弹框 **_`readonly`_**
- - [`{Tooltip} tooltip`](#tooltip):提示框 **_`readonly`_**
- - [`{MapSplit} mapSplit`](#mapsplit):地图分割 **_`readonly`_**
- - [`{TilesetSplit} tilesetSplit`](#tilesetsplit):模型分割 **_`readonly`_**
- - [`{SceneSplit} sceneSplit`](#scenesplit):场景分割 **_`readonly`_**
- - [`{Compass} compass`](#compass):罗盘 **_`readonly`_**
- - [`{ZoomController} zoomController`](#zoomcontroller):罗盘 **_`readonly`_**
- - [`{LocationBar} locationBar`](#locationbar):坐标信息 **_`readonly`_**
- - [`{DistanceLegend} distanceLegend`](#distancelegend):比例尺 **_`readonly`_**
- - [`{LoadingMask} loadingMask`](#loadingmask):加载蒙层 **_`readonly`_**
- - `{Position} cameraPosition`:相机位置 **_`readonly`_**
- - `{Number} resolution`:分辨率 **_`readonly`_**
- - `{Number} zoom`: 当前层级 **_`readonly`_**
- - `{Rect} viewBounds`:视野范围 **_`readonly`_**
-
- ### methods
-
- - **_setOptions(options)_**
-
- 设置属性
-
- - 参数
- - `{Object} options`:属性对象
- - 返回值 `this`
-
- ```json
- // 属性参数(可选)
- {
- "shadows": false, // 是否开启阴影
- "resolutionScale": 1, // 设置渲染分辨率的缩放比例
- "showAtmosphere": true, //是否显示大气层
- "showSun": true, //是否显示太阳
- "showMoon": true, //是否显示月亮
- "enableFxaa": true, //是否开启抗锯齿
- "msaaSamples": 1, //msaa抗拒出取样度
- "cameraController": {
- // 相机控制
- "enableRotate": true, // 是否可以旋转
- "enableTilt": true, // 是否可以翻转
- "enableTranslate": true, // 是否可以平移
- "enableZoom": true, // 是否可以缩放
- "enableCollisionDetection": true, // 是否支持碰撞检测
- "minimumZoomDistance": 1.0, // 最小缩放距离
- "maximumZoomDistance": 40489014.0 // 最大缩放距离
- },
- "globe": {
- "show": true, // 是否显示地球
- "showGroundAtmosphere": true, // 显示地面大气
- "enableLighting": false, //是否开启灯光,开启后地球会根据当前时间启用灯光
- "depthTestAgainstTerrain": false, //是否开启深度检测
- "tileCacheSize": 100, // 默认瓦片缓存大小
- "preloadSiblings": false, //是否应预加载渲染同级图块
- "terrainExaggeration": 1, //地形夸张系数
- "terrainExaggerationRelativeHeight": 1, //地形相对高度夸张系数
- "baseColor": new DC.Color(0, 0, 0.5, 1), //地球默认底色
- "filterColor": new DC.Color(0, 0, 0, 0), //瓦片过滤色,设置后不可逆
- "translucency": {
- //地表透明
- "enabled": false, // 是否开启地表透明
- "backFaceAlpha": 1, // 地球背面透明度
- "backFaceAlphaByDistance": null, //根据距离设置地球背面透明度: {near:400,nearValue:0.2,far:800,farValue:1}
- "frontFaceAlpha": 1, // 地球正面透明度
- "frontFaceAlphaByDistance": null //根据距离设置地球正面透明度: {near:400,nearValue:0.2,far:800,farValue:1}
- }
- },
- "skyBox": {
- "sources": {}, // 六个面的贴图
- "show": true, //是否显示
- "offsetAngle": 0 //旋转角度
- }
- }
- ```
-
- - **_setPitchRange(min,max)_**
-
- 设置翻转角度
-
- - 参数
- - `{Number} min`:最小角度
- - `{Number} max`:最大角度
- - 返回值 `this`
-
- - **_changeSceneMode(sceneMode, duration)_**
-
- 改变场景模式
-
- - 参数
- - `{Number} sceneMode`:场景模式 ,2:2D,3:3D,2.5:2.5D
- - `{Number} duration`:间隔时间
- - 返回值 `this`
-
- - **_changeMouseMode(mouseMode)_**
-
- 改变鼠标使用模式
-
- - 参数
- - `{Number} mouseMode`:鼠标模式,详情参考:`DC.MouseMode`
- - 返回值 `this`
-
- - **_addBaseLayer(baseLayers,options)_**
-
- 添加地图
-
- - 参数
- - `{baseLayer|Array<baseLayer>} baseLayers`:地图
- - `{Object} options`:属性
- - 返回值 `this`
-
- ```json
- //属性参数 (可选)
- {
- "name": "电子地图", //名称
- "iconUrl": "../preview.png" //缩略图
- "alpha" : 1.0,
- "nightAlpha" : 1.0,
- "dayAlpha" : 1.0,
- "brightness" : 1.0,
- "contrast" : 1.0,
- "hue" : 1.0,
- "saturation : 1.0,
- "gamma : 1.0,
- }
- ```
-
- - **_changeBaseLayer(index)_**
-
- 更改地图
-
- - 参数
- - `{Number} index`:地图索引
- - 返回值 `this`
-
- - **_getImageryLayerInfo(windowPosition)_**
-
- 获取瓦片信息
-
- - 参数
- - `{Object} windowPosition`:窗口坐标
- - 返回值 `promise`
-
- - **_setTerrain(terrain)_**
-
- 设置地形
-
- - 参数
- - `{Terrain} terrain`:地形
- - 返回值 `this`
-
- - **_addLayerGroup(layerGroup)_**
-
- 添加图层组
-
- - 参数
- - `{LayerGroup} layerGroup`:图层组
- - 返回值 `this`
-
- - **_removeLayerGroup(layerGroup)_**
-
- 移除图层组
-
- - 参数
- - `{LayerGroup} layerGroup`:图层组
- - 返回值 `this`
-
- - **_getLayerGroup(id)_**
-
- 获取图层组
-
- - 参数
- - `{String} id`:图层组 ID
- - 返回值 `layerGroup`
-
- - **_addLayer(layer)_**
-
- 添加图层
-
- - 参数
- - `{Layer} layer`:图层
- - 返回值 `this`
-
- - **_removeLayer(layer)_**
-
- 删除图层
-
- - 参数
- - `{Layer} layer`:图层
- - 返回值 `this`
-
- - **_getLayer(id)_**
-
- 获取图层
-
- - 参数
- - `{String} id`:图层 ID
- - 返回值 `layer`
-
- - **_getLayers()_**
-
- 获取所有图层,不包括地图
-
- - 返回值 `layer`
-
- - **_eachLayer(method, context)_**
-
- 遍历所有图层
-
- - 参数
- - `{Function} method`:回调函数
- - `{Object} context`:上下文,默认为 this
- - 返回值 `this`
-
- ```js
- viewer.eachLayer((layer) => {})
- ```
-
- - **_flyTo(target,duration)_**
-
- 飞向目标
-
- - 参数
- - `{VectorLayer|Overlay} target` :目标
- - `{Number} duration`:飞到位置时间,单位:秒
- - 返回值 `this`
-
- - **_zoomTo(target)_**
-
- 缩放到目标
-
- - 参数
- - `{VectorLayer|Overlay} target` :目标
- - 返回值 `this`
-
- - **_flyToPosition(position, completeCallback, duration)_**
-
- 飞到具体位置
-
- - 参数
- - `{Position} position`:位置
- - `{Function} completeCallback`:飞完之后触发的回调
- - `{Number} duration`:飞到位置时间,单位:秒
- - 返回值 `this`
-
- - **_zoomToPosition(position, completeCallback)_**
-
- 缩放到具体位置
-
- - 参数
- - `{DC.Position} position`:位置
- - `{Function} completeCallback`:缩放完成后触发的回调
- - 返回值 `this`
-
- - **_flyToBounds(bounds,{heading,pitch,roll}, completeCallback, duration)_**
-
- 飞到指定的范围
-
- - 参数
- - `{String|Array} bounds`:范围,格式:[minX,minY,maxX,maxY]
- - `{Object} hpr`:方位角
- - `{Function} completeCallback`:飞完之后触发的回调
- - `{Number} duration`:飞到位置时间,单位:秒
- - 返回值 `this`
-
- - **_zoomToBounds(bounds,{heading,pitch,roll}, completeCallback)_**
-
- 缩放到指定的范围
-
- - 参数
- - `{String|Array} bounds`:范围,格式:[minX,minY,maxX,maxY]
- - `{Object} hpr`:方位角
- - `{Function} completeCallback`:缩放完之后触发的回调
- - 返回值 `this`
-
- - **_on(type, callback, context)_**
-
- 事件订阅
-
- - 参数
- - `{Object} type` :订阅类型
- - `{Function} callback` :订阅回调
- - `{Object} context` :上下文
- - 返回值 `this`
-
- - **_once(type, callback, context)_**
-
- 事件订阅(一次)
-
- - 参数
- - `{Object} type` :订阅类型
- - `{Function} callback` :订阅回调
- - `{Object} context` :上下文
- - 返回值 `this`
-
- - **_off(type, callback, context)_**
-
- 取消事件订阅
-
- - 参数
- - `{Object} type` :订阅类型
- - `{Function} callback` :订阅回调
- - `{Object} context` :上下文
- - 返回值 `this`
-
- - **_destroy()_**
-
- 销毁三维场景
-
- - 返回值 `this`
-
- - **_exportScene(name)_**
-
- 导出场景
-
- - 参数
- - `{String} name` :名称,默认为 scene
- - 返回值 `this`
-
- ## Popup
-
- > 气泡窗口
-
- ### example
-
- ```js
- let popup = viewer.popup
- popup.setContent('<div></div>')
- ```
-
- ### properties
-
- - `{String} state`:状态 **_`readonly`_**
- - `{Object} config`:配置 **_`writeOnly`_**
-
- ```json
- // 配置(可选)
- // 配置后会影响全局的popup的显示样式,请慎重。
- {
- "position": "center", // popup的位于鼠标的点击位置的方向,有:center,left ,right
- "customClass": "custom" // 添加自定义的Css 类名到popup中,多个用空格隔开
- }
- ```
-
- ### methods
-
- - **_setPosition(position)_**
-
- 设置位置
-
- - 参数
- - `{Cartesian3} position`:世界坐标
- - 返回值 `this`
-
- - **_setContent(content)_**
-
- 设置内容
-
- - 参数
- - `{String|Element} content`:内容
- - 返回值 `this`
-
- - **_setWrapper(wrapper)_**
-
- 设置容器
-
- - 参数
- - `{Element} wrapper`:容器 **_`(一般用于 MVVM 框架的模板)`_**
- - 返回值 `this`
-
- - **_showAt(position, content)_**
-
- 设置内容
-
- - 参数
- - `{Cartesian3} position`:世界坐标
- - `{String|Element} content`:内容
- - 返回值 `this`
-
- - **_hide()_**
-
- 隐藏气泡窗口
-
- - 返回值 `this`
-
- ## ContextMenu
-
- > 右击菜单
-
- ### example
-
- ```js
- let contextMenu = viewer.contextMenu
- contextMenu.enable = true
- contextMenu.DEFAULT_MENU = [
- {
- label: '测试',
- callback: (e) => {}, // e是一个对象主要包括 windowPosition,position,surfacePosition,overlay
- context: this,
- },
- ] // 设置默认的右击菜单,会影响全局右击菜单(慎用)。
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
- - `{Array} DEFAULT_MENU`:默认菜单,菜单的回调函数参数为一个对象 **_`writeOnly`_**
-
- ## Tooltip
-
- > 提示框
-
- ### example
-
- ```js
- let tooltip = viewer.tooltip
- tooltip.enable = true
- tooltip.showAt({ x: 100, y: 100 }, '测试')
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ### methods
-
- - **_showAt(position,content)_**
-
- 设置位置
-
- - 参数
- - `{Cartesian2} position`:屏幕坐标
- - `{String|Element} content`:内容
- - 返回值 `this`
-
- ## MapSplit
-
- > 地图分割
-
- ### examples
-
- ```js
- let baseLayer_elc = DC.ImageryLayerFactory.createGoogleImageryLayer()
- viewer.mapSplit.enable = true
- viewer.mapSplit.addBaseLayer(baseLayer_elc, -1)
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ### methods
-
- - **_addBaseLayer(baseLayer,[splitDirection])_**
-
- 添加地图
-
- - 参数
- - `{BaseLayer} baseLayer`:地图
- - `{Number} splitDirection`:分割方向,-1:左,0:无,1:右
- - 返回值 `this`
-
- ## TilesetSplit
-
- > 模型分割
-
- ### examples
-
- ```js
- let tileset = new DC.Tileset('**/tileset.json')
- tileset.setSplitDirection(1)
- viewer.tilesetSplit.enable = true
- viewer.tilesetSplit.addTileset(tileset)
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ### methods
-
- - **_addTileset(tileset)_**
-
- 添加地图
-
- - 参数
- - `{Tileset} tileset`:模型
- - 返回值 `this`
-
- ## SceneSplit
-
- > 场景分割
-
- ### examples
-
- ```js
- let tileset = new DC.Tileset('**/tileset.json')
- tileset.setSplitDirection(1)
- viewer.sceneSplit.enable = true
- viewer.sceneSplit.addTileset(tileset)
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ### methods
-
- - **_addBaseLayer(baseLayer)_**
-
- 添加地图
-
- - 参数
- - `{BaseLayer} baseLayer`:地图
- - 返回值 `this`
-
- - **_addTileset(tileset)_**
-
- 添加地图
-
- - 参数
- - `{Tileset} tileset`:模型
- - 返回值 `this`
-
- ## Compass
-
- > 罗盘
-
- ### examples
-
- ```js
- viewer.compass.enable = true
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ## ZoomController
-
- > 缩放控制
-
- ### examples
-
- ```js
- viewer.zoomController.enable = true
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ## LocationBar
-
- > 坐标信息
-
- ### examples
-
- ```js
- viewer.locationBar.enable = true
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ## DistanceLegend
-
- > 比例尺
-
- ### examples
-
- ```js
- viewer.distanceLegend.enable = true
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ## LoadingMask
-
- > 加载蒙层
-
- ### examples
-
- ```js
- viewer.loadingMask.enable = true
- ```
-
- ### properties
-
- - `{Boolean} enable`:是否启用
- - `{String} state`:状态 **_`readonly`_**
-
- ## DC.SkyBox
-
- > 天空盒,[详情参考](http://resource.dvgis.cn/cesium-docs/SkyBox.html)
-
- ### example
-
- ```js
- scene.skyBox = new DC.SkyBox({
- sources: {
- positiveX: 'skybox_px.png',
- negativeX: 'skybox_nx.png',
- positiveY: 'skybox_py.png',
- negativeY: 'skybox_ny.png',
- positiveZ: 'skybox_pz.png',
- negativeZ: 'skybox_nz.png',
- },
- })
- ```
-
- ### creation
-
- - **_constructor(id)_**
-
- 构造函数
-
- - 参数
- - `{Object} options`:配置
- - 返回值 `skyBox`
-
- ```json
- //options(可选)
- {
- "sources": {}, // 六个面的贴图
- "show": true //显示
- }
- ```
-
- ### properties
-
- - `{Object} sources`:六个面的贴图
- - `{Boolean} show`:显示
-
- ## DC.GroundSkyBox
-
- > 近地天空盒,[详情参考](http://resource.dvgis.cn/cesium-docs/SkyBox.html)
-
- ### example
-
- ```js
- scene.skyBox = new DC.GroundSkyBox({
- sources: {
- positiveX: 'skybox_px.png',
- negativeX: 'skybox_nx.png',
- positiveY: 'skybox_py.png',
- negativeY: 'skybox_ny.png',
- positiveZ: 'skybox_pz.png',
- negativeZ: 'skybox_nz.png',
- },
- })
- ```
-
- ### creation
-
- - **_constructor(id)_**
-
- 构造函数
-
- - 参数
- - `{Object} options`:配置
- - 返回值 `skyBox`
-
- ```json
- //options(可选)
- {
- "sources": {}, // 六个面的贴图
- "show": true, //显示
- "offsetAngle": 0 //旋转角度
- }
- ```
-
- ### properties
-
- - `{Object} sources`:六个面的贴图
- - `{Boolean} show`:显示
- - `{Number} offsetAngle`:旋转角度
-
- ## DC.Position
-
- > 坐标类,用于描述物体在场景中的具体位置,采用右手标准
-
- ### example
-
- ```js
- let position = new DC.Position(120, 22, 102)
-
- let position1 = DC.Position.fromString('120,22,102')
-
- let position2 = DC.Position.fromArray([120, 22, 102])
-
- let position3 = DC.Position.fromObject({ lng: 120, lat: 22, height: 102 })
- ```
-
- ### creation
-
- - **_constructor(lng,lat,alt,heading,pitch,roll)_**
-
- 构造函数
-
- - 参数
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - `{Number} alt`:高度,单位:米,默认:0
- - `{Number} heading`:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0
- - `{Number} pitch`:俯仰角度,表示绕 Y 轴旋转。默认:0
- - `{Number} roll`:翻转角度,表示绕 X 轴旋转。默认:0
- - 返回值 `position`
-
- ### properties
-
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - `{Number} alt`:高度,单位:米,默认:0
- - `{Number} heading`:偏航角度,可能其他框架作 yaw,表示绕 Z 轴旋转。默认:0
- - `{Number} pitch`:俯仰角度,表示绕 Y 轴旋转。默认:0
- - `{Number} roll`:翻转角度,表示绕 X 轴旋转。默认:0
-
- ### methods
-
- - **_serialize()_**
-
- 序列化
-
- - 返回值 `string`
-
- - **_copy()_**
-
- 复制一个新的位置
-
- - 返回值 `position`
-
- - **_toString()_**
-
- 将坐标字符化
-
- - 返回值 `string`
-
- - **_toArray()_**
-
- 将坐标数组化
-
- - 返回值 `array`
-
- - **_toObject()_**
-
- 将坐标对象化
-
- - 返回值 `Object`
-
- ### static methods
-
- - **_fromString(str)_**
-
- 将字符化坐标转换为坐标对象
-
- - 参数
- - `{String} str`:字符化坐标
- - 返回值 `position`
-
- - **_fromArray(array)_**
-
- 将数组化坐标转换为坐标对象
-
- - 参数
- - `{Array} array`:数组化坐标
- - 返回值 `position`
-
- - **_fromObject(obj)_**
-
- 将 Json 对象坐标转换为坐标对象
-
- - 参数
- - `{Object} obj`:Json 对象坐标
- - 返回值 `position`
-
- - **_fromCoordString(str)_** `deprecated`
-
- 字符坐标串转换为坐标对象
-
- - 参数
- - `{String} str`:字符坐标串
- - 返回值 `position`
-
- - **_fromCoordArray(array)_** `deprecated`
-
- 坐标数组转换为坐标对象
-
- - 参数
- - `{Array<String|Number>} array`:坐标数组
- - 返回值 `position`
-
- - **_deserialize(valStr)_**
-
- 反序列化
-
- - 参数
- - `{String} valStr`:序列化的对象
- - 返回值 `position`
-
- ## DC.Color
-
- > 颜色类
-
- ### example
-
- ```js
- let red = DC.Color.RED
- ```
-
- ### properties
-
- - `{Color} RED`:红色
- - `{Color} YELLOW`:黄色
- - `{Color} WHITE`:白色
- - `{Color} GREEN`:绿色
-
- [其他颜色](http://resource.dvgis.cn/cesium-docs/Color.html)
-
- ## DC.TilesetStyle
-
- > tileset 样式,用于设置 3dtiles 的颜色设置
-
- ### example
-
- ```js
- let style = new DC.TilesetStyle()
- style.color = {
- conditions: [
- ['${floor} >= 5', 'rgb(198, 106, 11)'],
- ['true', 'rgb(127, 59, 8)'],
- ],
- }
- ```
-
- [详情参考](http://resource.dvgis.cn/cesium-docs/Cesium3DTileStyle.html)
-
- ## DC.JulianDate
-
- > 朱莉安日历
-
- ```js
- let date = DC.JulianDate.now()
- ```
-
- ### static methods
-
- - **_now()_**
-
- 当前朱莉安时间
-
- - 返回值 `date`
-
- - **_fromDate(date)_**
-
- 通过 Js 时间创建朱莉安时间
-
- - 参数
- - `{Date} date`:Js 时间
- - 返回值 `date`
-
- [JulianDate](http://resource.dvgis.cn/cesium-docs/JulianDate.html)
-
- ## DC.Rectangle
-
- > 矩形相关函数
-
- ### example
-
- ```js
- let r = DC.Rectangle.fromDegrees(10, 20, 12, 31)
- ```
-
- [详情参考](http://resource.dvgis.cn/cesium-docs/Rectangle.html)
-
- ## DC.CallbackProperty
-
- > 回调属性,用户通过自定义回调函数来返回需要的值。回调函数中,用户可以使用 time 给定 value,也可以自定设置。
-
- ```js
- let position = new DC.Position(120, 20)
- let point = new DC.Point(position)
- let size = 0
- point.setStyle({
- pixelSize: new DC.CallbackProperty((time) => {
- size += 1
- if (size == 10) {
- size = 0
- }
- return size
- }),
- })
- ```
-
- ## DC.Parse
-
- > 坐标解析工具类,可简写为 DC.P
-
- ```js
- let position = DC.P.parsePosition('123,32,0')
- ```
-
- ### static methods
-
- - **_parsePosition(position)_**
-
- 解析坐标为 DC.Position
-
- - 参数
- - `{String|Array|Position} position`:坐标
- - 返回值 `position`
-
- - **_parsePositions(positions)_**
-
- 解析坐标为 Array<DC.Position>
-
- - 参数
- - `{String|Array} positions`: 坐标
- - 返回值 `array`
-
- - **_parsePointCoordToArray(position)_**
-
- 解析点位坐标为数组
-
- - 参数
- - `{String|Position} position`:点位坐标
- - 返回值 `array`
-
- - **_parsePolylineCoordToArray(positions)_**
-
- 解析线坐标为二维数组
-
- - 参数
- - `{String|Array} positions`:线坐标
- - 返回值 `array`
-
- - **_parsePolygonCoordToArray(positions,loop)_**
-
- 解析面坐标为三维数组
-
- - 参数
- - `{String|Array} positions`:面坐标
- - `{Boolean} loop`:闭合
- - 返回值 `array`
-
- ## DC.Transform
-
- > 坐标转换工具类 ,可简写为 DC.T
-
- ```js
- let cartesian3 = DC.T.transformWGS84ToCartesian(new DC.Position(120, 20))
- ```
-
- ### static methods
-
- - **_transformCartesianToWGS84(cartesian)_**
-
- 世界坐标转换为 84 坐标
-
- - 参数
- - `{Cartesian3} cartesian`:世界坐标
- - 返回值 `position`
-
- - **_transformWGS84ToCartesian(position)_**
-
- 84 坐标转换为世界坐标
-
- - 参数
- - `{Position} position`:84 坐标
- - 返回值 `cartesian`
-
- - **_transformWGS84ToCartographic(position)_**
-
- 84 坐标转换为制图坐标
-
- - 参数
- - `{Position} position`:84 坐标
- - 返回值 `cartographic`
-
- - **_transformCartesianArrayToWGS84Array(cartesianArr)_**
-
- 世界坐标数组转 84 坐标数组
-
- - 参数
- - `{Array<cartesian3>} cartesianArr`:世界坐标数组
- - 返回值 `array`
-
- - **_transformWGS84ArrayToCartesianArray(WGS84Arr)_**
-
- 84 坐标数组转世界坐标数组
-
- - 参数
- - `{Array<cartesian3>} WGS84Arr`:84 坐标数组
- - 返回值 `array`
-
- - **_transformWGS84ToMercator(position)_**
-
- 84 坐标转 Mercator
-
- - 参数
- - `{Position} position`:84 坐标
- - 返回值 `position`
-
- - **_transformMercatorToWGS84(position)_**
-
- Mercator 坐标转 84
-
- - 参数
- - `{Position} position`:Mercator 坐标
- - 返回值 `position`
-
- - **_transformWindowToWGS84(position,viewer)_**
-
- 屏幕坐标转 84
-
- - 参数
- - `{Object} position`: 屏幕坐标,格式`{x:1,y:1}`
- - `{Viewer} viewer`:3D 场景
- - 返回值 `position`
-
- - **_transformWGS84ToWindow(position,viewer)_**
-
- 84 转屏幕坐标
-
- - 参数
- - `{Position} position`: 84 坐标
- - `{Viewer} viewer`:3D 场景
- - 返回值 `Object`
-
- ## DC.CoordTransform
-
- > 国内坐标转换工具
-
- ```js
- let point = DC.CoordTransform.BD09ToGCJ02(120, 20)
- ```
-
- ### static methods
-
- - **_BD09ToGCJ02(lng, lat)_**
-
- 百度坐标系 (BD-09) 的转换 火星坐标系 (GCJ-02)
-
- - 参数
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - 返回值 `[]`
-
- - **_GCJ02ToBD09(lng, lat)_**
-
- 火星坐标系 (GCJ-02) 转换为 百度坐标系 (BD-09)
-
- - 参数
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - 返回值 `[]`
-
- - **_WGS84ToGCJ02(lng, lat)_**
-
- WGS-84 转换为 火星坐标系 (GCJ-02)
-
- - 参数
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - 返回值 `[]`
-
- - **_GCJ02ToWGS84(lng, lat)_**
-
- 火星坐标系 (GCJ-02) 转换为 WGS-84
-
- - 参数
- - `{Number} lng`:经度
- - `{Number} lat`:纬度
- - 返回值 `[]`
-
- ## DC.Math
-
- > 基本函数类
-
- ### static methods
-
- - **_area(positions)_**
-
- 面积,单位:平方米
-
- - 参数
- - `{Array<Position>} positions`: 点位数据
- - 返回值 `number`
-
- - **_bounds(positions , expand)_**
-
- 边界
-
- - 参数
- - `{Array<Position>} positions`: 点位数据
- - `{Number}} expand`: 扩展比例:0~1
- - 返回值 `object`
-
- - **_mid(start , end)_**
-
- 两点之间的中心点
-
- - 参数
- - `start`: 开始位置
- - `end`: 结束位置
- - 返回值 `position`
-
- - **_center(positions)_**
-
- 中心点
-
- - 参数
- - `{Array<Position>} positions`: 点位数据
- - 返回值 `position`
-
- - **_distance(positions)_**
-
- 距离,单位:米
-
- - 参数
- - `{Array<Position>} positions`: 点位数据
- - 返回值 `number`
-
- - **_heading(start,end)_**
-
- 偏转角度,单位:度
-
- - 参数
- - `start`: 开始位置
- - `end`: 结束位置
- - 返回值 `number`
-
- - **_parabola(start, end,height,count)_**
-
- 抛物线
-
- - 参数
- - `start`: 开始位置
- - `end`: 结束位置
- - `{Number} height`: 最高点高度
- - `{Number} count`: 点位数量
- - 返回值 `Array`
-
- > [more](http://resource.dvgis.cn/cesium-docs/Math.html)
-
- ## DC.Util
-
- > 工具类
-
- ### static methods
-
- - **_uuid(prefix)_**
-
- 生成 uuid
-
- - 参数
- - `{String} prefix`:前缀,默认为 D
- - 返回值 `string`
-
- - **_merge(dest, ...sources)_**
-
- 属性合并
-
- - 参数
- - `{Object} dest`:目标对象
- - `{Object|Array} sources`:需要合并的属性
- - 返回值 `object`
-
- - **_emptyImageUrl()_**
-
- 空图片
-
- - **_debounce(fn,delay)_**
-
- 防抖
-
- - **_throttle(fn,delay)_**
-
- 节流
-
- ## DC.DomUtil
-
- > Dom 工具类
-
- ### static methods
-
- - **_get(id)_**
-
- 创建 dom
-
- - 参数
- - `{String} id`: 要素 ID
- - 返回值 `Element`
-
- - **_create(tagName, className, [container])_**
-
- 创建 dom
-
- - 参数
- - `{String} tagName`: 标签名
- - `{String} className`: 样式名,多个用空格隔开
- - `{Element} [container]`: 父容器
- - 返回值 `Element`
-
- - **_addClass(el, name)_**
-
- 添加类名
-
- - 参数
- - `{Element} el`: 要素
- - `{String} className`: 样式名,多个用空格隔开
-
- - **_removeClass(el, name)_**
-
- 删除类名
-
- - 参数
- - `{Element} el`: 要素
- - `{String} className`: 样式名,多个用空格隔开
-
- - **_addClass(el, name)_**
-
- 添加类名
-
- - 参数
- - `{Element} el`: 要素
- - `{String} className`: 样式名,多个用空格隔开
-
- - **_createSvg(width, height, path, [container])_**
-
- 添加类名
-
- - 参数
- - `{Number} width`: 宽度
- - `{Number} height`: 高度
- - `{String} path`: 路径
- - `{Element} [container]`: 父容器
- - 返回值 `svg`
-
- - **_parseDom(domStr, [withWrapper], [className])_**
-
- 字符串转 Dom
-
- - 参数
- - `{String} domStr`: dom 字符串
- - `{Boolean} withWrapper`:返回是否含有父容器
- - `{String} className`: 类样式名称
- - 返回值 `Element | Nodes`
-
- - **_enterFullscreen(el)_**
-
- 进入全屏
-
- - 参数
- - `{Element} el`: 要素
-
- - **_exitFullscreen()_**
-
- 退出全屏
-
- - **_createVideo(url, className, [container])_**
-
- 创建视频节点
-
- - 参数
- - `{String} url`: 视频地址
- - `{String} className`: 样式名,多个用空格隔开
- - `{Element} [container]`: 父容器
- - 返回值 `Element | Nodes`
|