| ### example | ### example | ||||
| ```html | ```html | ||||
| <div id="viewer-container"></div> | <div id="viewer-container"></div> | ||||
| ``` | ``` | ||||
| ``` | ``` | ||||
| :::warning | :::warning | ||||
| 如果开发使用的是 Vue 这样的 MVVM 框架,不要将 viewer、layer、overlay 添加到数据模型中。由于 3D 场景中会不停的刷新每一帧,如果将数据添加到数据模型中,长时间的话会导致浏览器的压力增大而奔溃。 | |||||
| 如果开发使用的是 Vue 这样的 MVVM 框架,不要将 viewer、layer、overlay 添加到数据模型中。由于 3D | |||||
| 场景中会不停的刷新每一帧,如果将数据添加到数据模型中,长时间的话会导致浏览器的压力增大而奔溃。 | |||||
| ::: | ::: | ||||
| ### creation | ### creation | ||||
| { | { | ||||
| "contextOptions": { | "contextOptions": { | ||||
| "webgl": { | "webgl": { | ||||
| "alpha": false, //背景 | |||||
| "alpha": false, | |||||
| //背景 | |||||
| "depth": true, | "depth": true, | ||||
| "stencil": false, | "stencil": false, | ||||
| "antialias": true, | "antialias": true, | ||||
| }, | }, | ||||
| "allowTextureFilterAnisotropic": true | "allowTextureFilterAnisotropic": true | ||||
| }, | }, | ||||
| "sceneMode": 3, //1: 2.5D,2: 2D,3: 3D | |||||
| "enableEventPropagation":false, //是否开启鼠标事件冒泡 | |||||
| "enableMouseMovePick":false, // 是否开启鼠标移动拾取功能,开启后当覆盖物较多的情况下,帧率会下降 | |||||
| "enableMouseOver":false, //是否开启鼠标移入事件,需要开启鼠标移动拾取功能 | |||||
| "sceneMode": 3, | |||||
| //1: 2.5D,2: 2D,3: 3D | |||||
| "enableEventPropagation": false, | |||||
| //是否开启鼠标事件冒泡 | |||||
| "enableMouseMovePick": false, | |||||
| // 是否开启鼠标移动拾取功能,开启后当覆盖物较多的情况下,帧率会下降 | |||||
| "enableMouseOver": false | |||||
| //是否开启鼠标移入事件,需要开启鼠标移动拾取功能 | |||||
| } | } | ||||
| ``` | ``` | ||||
| - `{Object} camera`:相机 **_`readonly`_**,详情参考:[Camera](http://resource.dvgis.cn/cesium-docs/Scene.html) | - `{Object} camera`:相机 **_`readonly`_**,详情参考:[Camera](http://resource.dvgis.cn/cesium-docs/Scene.html) | ||||
| - `{Element} canvas`:canvas 节点 **_`readonly`_** | - `{Element} canvas`:canvas 节点 **_`readonly`_** | ||||
| - `{Object} clock`:时钟,详情参考:[Clock](http://resource.dvgis.cn/cesium-docs/Clock.html) | - `{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} 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) | - `{Object} entities`:实体集合,详情参考:[EntityCollection](http://resource.dvgis.cn/cesium-docs/EntityCollection.html) | ||||
| - [`{Popup} popup`](#popup):气泡窗口 **_`readonly`_** | - [`{Popup} popup`](#popup):气泡窗口 **_`readonly`_** | ||||
| - [`{ContextMenu} contextMenu`](#contextmenu):右击弹框 **_`readonly`_** | - [`{ContextMenu} contextMenu`](#contextmenu):右击弹框 **_`readonly`_** | ||||
| - `{Number} resolution`:分辨率 **_`readonly`_** | - `{Number} resolution`:分辨率 **_`readonly`_** | ||||
| - `{Number} zoom`: 当前层级 **_`readonly`_** | - `{Number} zoom`: 当前层级 **_`readonly`_** | ||||
| - `{Rect} viewBounds`:视野范围 **_`readonly`_** | - `{Rect} viewBounds`:视野范围 **_`readonly`_** | ||||
| - `{Boolean} enableEventPropagation`: 是否开启鼠标事件冒泡 | |||||
| - `{Boolean} enableMouseMovePick`: 是否开启鼠标移动拾取功能,开启后当覆盖物较多的情况下,帧率会下降 | |||||
| - `{Boolean} enableMouseOver`: 是否开启鼠标移入事件,需要开启鼠标移动拾取功能 | |||||
| ### methods | ### methods | ||||
| ```json | ```json | ||||
| // 属性参数(可选) | // 属性参数(可选) | ||||
| { | { | ||||
| "shadows": false, // 是否开启阴影 | |||||
| "resolutionScale": 1, // 设置渲染分辨率的缩放比例 | |||||
| "showAtmosphere": true, //是否显示大气层 | |||||
| "showSun": true, //是否显示太阳 | |||||
| "showMoon": true, //是否显示月亮 | |||||
| "enableFxaa": true, //是否开启抗锯齿 | |||||
| "msaaSamples": 1, //msaa抗拒出取样度 | |||||
| "shadows": false, | |||||
| // 是否开启阴影 | |||||
| "resolutionScale": 1, | |||||
| // 设置渲染分辨率的缩放比例 | |||||
| "showAtmosphere": true, | |||||
| //是否显示大气层 | |||||
| "showSun": true, | |||||
| //是否显示太阳 | |||||
| "showMoon": true, | |||||
| //是否显示月亮 | |||||
| "enableFxaa": true, | |||||
| //是否开启抗锯齿 | |||||
| "msaaSamples": 1, | |||||
| //msaa抗拒出取样度 | |||||
| "cameraController": { | "cameraController": { | ||||
| // 相机控制 | // 相机控制 | ||||
| "enableRotate": true, // 是否可以旋转 | |||||
| "enableTilt": true, // 是否可以翻转 | |||||
| "enableTranslate": true, // 是否可以平移 | |||||
| "enableZoom": true, // 是否可以缩放 | |||||
| "enableCollisionDetection": true, // 是否支持碰撞检测 | |||||
| "minimumZoomDistance": 1.0, // 最小缩放距离 | |||||
| "maximumZoomDistance": 40489014.0 // 最大缩放距离 | |||||
| "enableRotate": true, | |||||
| // 是否可以旋转 | |||||
| "enableTilt": true, | |||||
| // 是否可以翻转 | |||||
| "enableTranslate": true, | |||||
| // 是否可以平移 | |||||
| "enableZoom": true, | |||||
| // 是否可以缩放 | |||||
| "enableCollisionDetection": true, | |||||
| // 是否支持碰撞检测 | |||||
| "minimumZoomDistance": 1.0, | |||||
| // 最小缩放距离 | |||||
| "maximumZoomDistance": 40489014.0 | |||||
| // 最大缩放距离 | |||||
| }, | }, | ||||
| "globe": { | "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), //瓦片过滤色,设置后不可逆 | |||||
| "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": { | "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} | |||||
| "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": { | "skyBox": { | ||||
| "sources": {}, // 六个面的贴图 | |||||
| "show": true, //是否显示 | |||||
| "offsetAngle": 0 //旋转角度 | |||||
| "sources": {}, | |||||
| // 六个面的贴图 | |||||
| "show": true, | |||||
| //是否显示 | |||||
| "offsetAngle": 0 | |||||
| //旋转角度 | |||||
| } | } | ||||
| } | } | ||||
| ``` | ``` | ||||
| ```json | ```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, | |||||
| "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 | |||||
| } | } | ||||
| ``` | ``` | ||||
| // 配置(可选) | // 配置(可选) | ||||
| // 配置后会影响全局的popup的显示样式,请慎重。 | // 配置后会影响全局的popup的显示样式,请慎重。 | ||||
| { | { | ||||
| "position": "center", // popup的位于鼠标的点击位置的方向,有:center,left ,right | |||||
| "customClass": "custom" // 添加自定义的Css 类名到popup中,多个用空格隔开 | |||||
| "position": "center", | |||||
| // popup的位于鼠标的点击位置的方向,有:center,left ,right | |||||
| "customClass": "custom" | |||||
| // 添加自定义的Css 类名到popup中,多个用空格隔开 | |||||
| } | } | ||||
| ``` | ``` | ||||
| contextMenu.DEFAULT_MENU = [ | contextMenu.DEFAULT_MENU = [ | ||||
| { | { | ||||
| label: '测试', | label: '测试', | ||||
| callback: (e) => {}, // e是一个对象主要包括 windowPosition,position,surfacePosition,overlay | |||||
| callback: (e) => { | |||||
| }, // e是一个对象主要包括 windowPosition,position,surfacePosition,overlay | |||||
| context: this, | context: this, | ||||
| }, | }, | ||||
| ] // 设置默认的右击菜单,会影响全局右击菜单(慎用)。 | ] // 设置默认的右击菜单,会影响全局右击菜单(慎用)。 | ||||
| ```json | ```json | ||||
| //options(可选) | //options(可选) | ||||
| { | { | ||||
| "sources": {}, // 六个面的贴图 | |||||
| "show": true //显示 | |||||
| "sources": {}, | |||||
| // 六个面的贴图 | |||||
| "show": true | |||||
| //显示 | |||||
| } | } | ||||
| ``` | ``` | ||||
| ```json | ```json | ||||
| //options(可选) | //options(可选) | ||||
| { | { | ||||
| "sources": {}, // 六个面的贴图 | |||||
| "show": true, //显示 | |||||
| "offsetAngle": 0 //旋转角度 | |||||
| "sources": {}, | |||||
| // 六个面的贴图 | |||||
| "show": true, | |||||
| //显示 | |||||
| "offsetAngle": 0 | |||||
| //旋转角度 | |||||
| } | } | ||||
| ``` | ``` | ||||