| @@ -1,77 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"> | |||
| <video id="video" muted autoplay loop crossorigin controls> | |||
| <source src="../assets/data/demo.mp4" type="video/mp4" /> | |||
| </video> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let cameraVideo = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer1 = new DC.TilesetLayer('layer').addTo(viewer) | |||
| let tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(-420) | |||
| layer1.addOverlay(tileset) | |||
| let layer = new DC.CameraVideoLayer('video-layer').addTo(viewer) | |||
| let position = new DC.Position( | |||
| 108.9594135, | |||
| 34.2184197, | |||
| 100.25, | |||
| 4.2, | |||
| -53.5, | |||
| ) | |||
| viewer.flyToPosition( | |||
| position, | |||
| () => { | |||
| cameraVideo = new DC.CameraVideo(position,document.getElementById('video')) | |||
| cameraVideo.setStyle({ | |||
| fov: 30, | |||
| far: 120, | |||
| near: 0.01, | |||
| aspectRatio: 1.3, | |||
| alpha:0.7 | |||
| }) | |||
| layer.addOverlay(cameraVideo) | |||
| } | |||
| ) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,77 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"> | |||
| <video id="video" muted autoplay loop crossorigin controls> | |||
| <source src="../assets/data/demo.mp4" type="video/mp4" /> | |||
| </video> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let cameraVideo = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer1 = new DC.TilesetLayer('layer').addTo(viewer) | |||
| let tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(-420) | |||
| layer1.addOverlay(tileset) | |||
| let layer = new DC.CameraVideoLayer('video-layer').addTo(viewer) | |||
| let position = new DC.Position( | |||
| 108.9594135, | |||
| 34.2184197, | |||
| 100.25, | |||
| 4.2, | |||
| -53.5, | |||
| ) | |||
| viewer.flyToPosition( | |||
| position, | |||
| () => { | |||
| cameraVideo = new DC.CameraVideo(position,document.getElementById('video'),'../assets/analysis/mask.png') | |||
| cameraVideo.setStyle({ | |||
| fov: 30, | |||
| far: 120, | |||
| near: 0.01, | |||
| aspectRatio: 1.3, | |||
| alpha:0.7 | |||
| }) | |||
| layer.addOverlay(cameraVideo) | |||
| } | |||
| ) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,91 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let terrain = DC.TerrainFactory.createUrlTerrain({ | |||
| url: 'http://data.marsgis.cn/terrain' | |||
| }) | |||
| viewer.addTerrain(terrain) | |||
| viewer.flyToPosition( | |||
| new DC.Position( | |||
| 96.70456483909693, | |||
| 28.883444927447762, | |||
| 48977.26981733466, | |||
| 0, | |||
| -31 | |||
| ) | |||
| ) | |||
| viewer.use(new DC.Analysis()) | |||
| viewer.analysis.contourLine() | |||
| addGuiController() | |||
| } | |||
| function addGuiController(){ | |||
| let controls = { | |||
| enable: true, | |||
| color:"#FFFF00", | |||
| width: 1, | |||
| spacing: 100, | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'enable').onChange(value=>{ | |||
| if(value){ | |||
| viewer.analysis.contourLine(DC.Color.fromCssColorString(controls.color), controls.width, controls.spacing) | |||
| }else{ | |||
| viewer.analysis.deactivate() | |||
| } | |||
| }) | |||
| gui.addColor(controls,'color').onChange(value=>{ | |||
| viewer.analysis.contourLine(DC.Color.fromCssColorString(value), controls.width, controls.spacing) | |||
| }) | |||
| gui.add(controls,'width',1,5).step(1).onChange(value=>{ | |||
| viewer.analysis.contourLine(DC.Color.fromCssColorString(controls.color), value, controls.spacing) | |||
| }) | |||
| gui.add(controls,'spacing',50,300).step(10).onChange(value=>{ | |||
| viewer.analysis.contourLine(DC.Color.fromCssColorString(controls.color), controls.width, value) | |||
| }) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,71 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| let globeClipping = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({ | |||
| showAtmosphere: false, | |||
| skyBox: { | |||
| show: false | |||
| } | |||
| }) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84", | |||
| style:"img" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| globeClipping = new DC.GlobeClipping(viewer) | |||
| globeClipping.positions = | |||
| '119.89,32.08;121.406,32.08;121.406,30.75;119.89,30.75' | |||
| globeClipping.distance = 200000 | |||
| globeClipping.enable = true | |||
| viewer.flyToPosition('120.54777855, 28.74389394,203988.73,0,-38') | |||
| addGuiController() // add controller | |||
| } | |||
| function addGuiController(){ | |||
| let controls = { | |||
| enable:true, | |||
| distance: 2e5, | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'enable').onChange(value=>{ | |||
| globeClipping.enable=value | |||
| }) | |||
| gui.add(controls,'distance',5e4,3e5).step(2e3).onChange(value=>{ | |||
| globeClipping.distance=value | |||
| }) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,136 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="gotoModel()">定位模型</button></li> | |||
| <li><button onclick="deactivate()">清空</button></li> | |||
| </ul> | |||
| <ul> | |||
| <li><button onclick="calcDistance()">空间测距</button></li> | |||
| <li><button onclick="calcArea()">空间面积</button></li> | |||
| <li><button onclick="calcAngle()">角度</button></li> | |||
| <li><button onclick="calcHeight()">高度</button></li> | |||
| <li><button onclick="calcHeading()">偏航角度</button></li> | |||
| <li><button onclick="calcTriangleHeight()">三角测量</button></li> | |||
| </ul> | |||
| <ul> | |||
| <li><button onclick="distanceSurface()">贴地测距</button></li> | |||
| <li><button onclick="areaSurface()">贴地面积</button></li> | |||
| <li><button onclick="calcModelAngle()">贴物角度</button></li> | |||
| <li><button onclick="calcModelHeight()">贴物高度</button></li> | |||
| <li><button onclick="calcModelTriangleHeight()">贴物三角</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let tileset = undefined | |||
| function calcDistance(){ | |||
| viewer.measure.distance() | |||
| } | |||
| function distanceSurface(){ | |||
| viewer.measure.distanceSurface() | |||
| } | |||
| function calcArea(){ | |||
| viewer.measure.area() | |||
| } | |||
| function areaSurface(){ | |||
| viewer.measure.areaSurface() | |||
| } | |||
| function calcAngle(){ | |||
| viewer.measure.angle() | |||
| } | |||
| function calcModelAngle(){ | |||
| viewer.measure.angle({ | |||
| clampToModel:true | |||
| }) | |||
| } | |||
| function calcHeight(){ | |||
| viewer.measure.height() | |||
| } | |||
| function calcModelHeight(){ | |||
| viewer.measure.height({ | |||
| clampToModel:true | |||
| }) | |||
| } | |||
| function calcHeading(){ | |||
| viewer.measure.heading() | |||
| } | |||
| function areaHeight(){ | |||
| viewer.measure.areaHeight() | |||
| } | |||
| function calcTriangleHeight(){ | |||
| viewer.measure.triangleHeight() | |||
| } | |||
| function calcModelTriangleHeight(){ | |||
| viewer.measure.triangleHeight({ | |||
| clampToModel:true | |||
| }) | |||
| } | |||
| function deactivate(){ | |||
| viewer.measure.deactivate() | |||
| } | |||
| function gotoModel(){ | |||
| viewer.flyTo(tileset) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:'img', | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.use(new DC.Measure()) | |||
| let layer = new DC.TilesetLayer('layer').addTo(viewer) | |||
| tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(-420) | |||
| layer.addOverlay(tileset) | |||
| viewer.flyTo(tileset) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,75 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="manager.spread(10,5)">展开</button></li> | |||
| <li><button onclick="manager.combine(4)">合并</button></li> | |||
| <li><button onclick="manager.restore()">还原</button></li> | |||
| <li><button onclick="viewer.flyToPosition('120.72296587904076,31.24839628931203,40.25,338.95,-17.38')">定位</button></li> | |||
| </ul> | |||
| <ul> | |||
| <li><button onclick="manager.showModel(0)">一层</button></li> | |||
| <li><button onclick="manager.showModel(1)">二层</button></li> | |||
| <li><button onclick="manager.showModel(2)">三层</button></li> | |||
| <li><button onclick="manager.showModel(3)">四层</button></li> | |||
| <li><button onclick="manager.showModel(4)">五层</button></li> | |||
| <li><button onclick="manager.showModel(5)">六层</button></li> | |||
| <li><button onclick="manager.showModel(6)">七层</button></li> | |||
| <li><button onclick="manager.showModel(7)">八层</button></li> | |||
| <li><button onclick="manager.showModel(8)">九层</button></li> | |||
| <li><button onclick="manager.showModel(9)">十层</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let manager = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| baseColor:DC.Color.BLACK | |||
| } | |||
| }) | |||
| let layer = new DC.VectorLayer("layer").addTo(viewer) | |||
| for (let i = 0; i < 10; i++) { | |||
| let model = new DC.Model( | |||
| [120.722487, 31.249024, 3 * i - 2.5, 89], | |||
| 'examples/data/model/floor.glb' | |||
| ) | |||
| layer.addOverlay(model) | |||
| } | |||
| manager = new DC.ModelManager(viewer, layer.getOverlays()) | |||
| viewer.flyToPosition('120.72296587904076,31.24839628931203,40.25,338.95,-17.38') | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,76 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="translation()">移动</button></li> | |||
| <li><button onclick="rotation()">旋转</button></li> | |||
| <li><button onclick="stop()">结束</button></li> | |||
| <li><button onclick="locate()">定位</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let positionEditor = undefined | |||
| function translation(){ | |||
| positionEditor.activate(DC.PositionEditorType.TRANSLATION,e=>{}) | |||
| } | |||
| function rotation(){ | |||
| positionEditor.activate(DC.PositionEditorType.ROTATION,e=>{}) | |||
| } | |||
| function stop(){ | |||
| positionEditor.deactivate() | |||
| } | |||
| function locate(){ | |||
| viewer.flyTo(viewer.getLayer("layer")) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark', | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer("layer").addTo(viewer) | |||
| let model = new DC.Model("121.46748793889597,31.22345700031846,200","examples/data/model/Cesium_Air.glb") | |||
| layer.addOverlay(model) | |||
| positionEditor = new DC.PositionEditor(viewer) | |||
| positionEditor.overlay = model | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,76 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="translation()">移动</button></li> | |||
| <li><button onclick="rotation()">旋转</button></li> | |||
| <li><button onclick="stop()">结束</button></li> | |||
| <li><button onclick="locate()">定位</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let positionEditor = undefined | |||
| function translation(){ | |||
| positionEditor.activate(DC.PositionEditorType.TRANSLATION,e=>{}) | |||
| } | |||
| function rotation(){ | |||
| positionEditor.activate(DC.PositionEditorType.ROTATION,e=>{}) | |||
| } | |||
| function stop(){ | |||
| positionEditor.deactivate() | |||
| } | |||
| function locate(){ | |||
| viewer.flyToPosition("121.46739860539422,31.222994902679385,32,10,-33") | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark', | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.PrimitiveLayer("layer").addTo(viewer) | |||
| let model = new DC.ModelPrimitive("121.46748793889597,31.22345700031846","examples/data/model/GroundVehicle.glb") | |||
| layer.addOverlay(model) | |||
| positionEditor = new DC.PositionEditor(viewer) | |||
| positionEditor.overlay = model | |||
| viewer.flyToPosition("121.46739860539422,31.222994902679385,32,10,-33") | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,74 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"> | |||
| <video id="video" muted autoplay loop crossorigin controls> | |||
| <source src="../assets/data/demo.mp4" type="video/mp4" /> | |||
| </video> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let planeVideo = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark', | |||
| crs:'WGS84' | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer1 = new DC.TilesetLayer('layer').addTo(viewer) | |||
| let tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(-420) | |||
| layer1.addOverlay(tileset) | |||
| let layer = new DC.PlaneVideoLayer('video-layer').addTo(viewer) | |||
| let position = new DC.Position( | |||
| 108.9594135, | |||
| 34.2184197, | |||
| 50, | |||
| ) | |||
| viewer.flyToPosition( | |||
| "108.9596880295684,34.21388323284156,148.15,3.05,-11.5734", | |||
| () => { | |||
| planeVideo = new DC.PlaneVideo(position,document.getElementById('video')) | |||
| planeVideo.setStyle({ | |||
| fov: 60, | |||
| far: 120, | |||
| near: 1, | |||
| aspectRatio: 1.3, | |||
| }) | |||
| layer.addOverlay(planeVideo) | |||
| layer.showHelp(true,planeVideo) | |||
| } | |||
| ) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,53 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let point = new DC.Point("120.71259021075333,31.22148081085083") | |||
| layer.addOverlay(point) | |||
| let coords = DC.GeoTools.pointBuffer("120.71259021075333,31.22148081085083",100) | |||
| let polygon = new DC.Polygon(coords) | |||
| polygon.setStyle({ | |||
| material:DC.Color.RED.withAlpha(0.4) | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,64 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polygon = new DC.Polygon("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343") | |||
| polygon.setStyle({ | |||
| zIndex:1, | |||
| material:DC.Color.YELLOW | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| let coords = DC.GeoTools.polygonBuffer("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343",150) | |||
| let buffer = new DC.Polygon(coords) | |||
| buffer.setStyle({ | |||
| material:DC.Color.RED.withAlpha(0.4) | |||
| }) | |||
| layer.addOverlay(buffer) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,62 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.setOptions({ | |||
| enableFxaa:true | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polygon = new DC.Polygon("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343") | |||
| polygon.setStyle({ | |||
| material:DC.Color.YELLOW | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| let coords = DC.GeoTools.transformPolygonRotate("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343",45) | |||
| polygon = new DC.Polygon(coords) | |||
| polygon.setStyle({ | |||
| zIndex:1, | |||
| material:DC.Color.RED.withAlpha(0.5) | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,64 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polygon = new DC.Polygon("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343") | |||
| polygon.setStyle({ | |||
| material:DC.Color.YELLOW | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| let coords = DC.GeoTools.transformPolygonScale("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343",1.5) | |||
| let buffer = new DC.Polygon(coords) | |||
| buffer.setStyle({ | |||
| zIndex:1, | |||
| material:DC.Color.RED.withAlpha(0.4) | |||
| }) | |||
| layer.addOverlay(buffer) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,66 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polygon = new DC.Polygon(DC.GeoTools.sector('120.71259021075333,31.22148081085083',100,20,60)) | |||
| polygon.setStyle({ | |||
| material: DC.Color.YELLOW, | |||
| extrudedHeight:8, | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| polygon = new DC.Polygon(DC.GeoTools.sector('120.71259021075333,31.22148081085083',100,220,260)) | |||
| polygon.setStyle({ | |||
| material: DC.Color.BLUE.withAlpha(.6), | |||
| outline:true, | |||
| extrudedHeight:1, | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| polygon = new DC.Polygon(DC.GeoTools.sector('120.71259021075333,31.22148081085083',100,300,340)) | |||
| polygon.setStyle({ | |||
| material: DC.Color.RED, | |||
| extrudedHeight:5, | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,64 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.setOptions({ | |||
| enableFxaa:true | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polyline = new DC.Polyline("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566") | |||
| polyline.setStyle({ | |||
| width:2, | |||
| material:DC.Color.YELLOW, | |||
| zIndex:1 | |||
| }) | |||
| layer.addOverlay(polyline) | |||
| let coords = DC.GeoTools.polylineBuffer("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566",100) | |||
| let polygon = new DC.Polygon(coords) | |||
| polygon.setStyle({ | |||
| material:DC.Color.RED.withAlpha(0.4) | |||
| }) | |||
| layer.addOverlay(polygon) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,63 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84" | |||
| }) | |||
| viewer.setOptions({ | |||
| enableFxaa:true | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.VectorLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let polyline = new DC.Polyline("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566") | |||
| polyline.setStyle({ | |||
| width:5, | |||
| material:DC.Color.BLUE | |||
| }) | |||
| layer.addOverlay(polyline) | |||
| let coords = DC.GeoTools.transformPolylineRotate("120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566",80) | |||
| polyline = new DC.Polyline(coords) | |||
| polyline.setStyle({ | |||
| width:5, | |||
| material:DC.Color.RED | |||
| }) | |||
| layer.addOverlay(polyline) | |||
| viewer.flyTo(layer) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,78 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="start()">开始</button></li> | |||
| <li><button onclick="stop()">暂停</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| function start(){ | |||
| viewer.analysis.shadows(new Date(),1600) | |||
| } | |||
| function stop(){ | |||
| viewer.analysis.deactivate(DC.AnalysisType.SHADOWS) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.TilesetLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let tileset = new DC.Tileset( | |||
| 'http://resource.dvgis.cn/data/3dtiles/ljz/tileset.json' | |||
| ) | |||
| let style = new DC.TilesetStyle() | |||
| style.color = { | |||
| conditions: [ | |||
| ['${Height} >= 300', 'rgba(45, 0, 75, 0.5)'], | |||
| ['${Height} >= 200', 'rgb(102, 71, 151)'], | |||
| ['${Height} >= 100', 'rgb(170, 162, 204)'], | |||
| ['${Height} >= 50', 'rgb(224, 226, 238)'], | |||
| ['${Height} >= 25', 'rgb(252, 230, 200)'], | |||
| ['${Height} >= 10', 'rgb(248, 176, 87)'], | |||
| ['${Height} >= 5', 'rgb(198, 106, 11)'], | |||
| ['true', 'rgb(127, 59, 8)'] | |||
| ] | |||
| } | |||
| tileset.setStyle(style) | |||
| layer.addOverlay(tileset) | |||
| viewer.use(new DC.Analysis()) | |||
| viewer.flyTo(tileset) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,92 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="draw()">标绘</button></li> | |||
| <li><button onclick="removeAll()">清除</button></li> | |||
| <li><button onclick="gotoTerrain()">定位山区</button></li> | |||
| <li><button onclick="gotoModel()">定位模型</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let plot = undefined | |||
| let tileset = undefined | |||
| function draw(){ | |||
| viewer.analysis.deactivate(DC.AnalysisType.SIGHT_CIRCLE) | |||
| plot.draw(DC.OverlayType.CIRCLE,overlay => { | |||
| viewer.analysis.sightCircle(overlay.center,overlay.radius,[]) | |||
| }) | |||
| } | |||
| function removeAll(){ | |||
| viewer.analysis.deactivate(DC.AnalysisType.SIGHT_CIRCLE) | |||
| } | |||
| function gotoTerrain(){ | |||
| removeAll() | |||
| viewer.flyToPosition("102.72499624,30.46623447,13002.32,13.57,-21.91") | |||
| } | |||
| function gotoModel(){ | |||
| removeAll() | |||
| viewer.flyTo(tileset) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({enableFxaa:true}) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let terrain = DC.TerrainFactory.createArcgisTerrain({ | |||
| url: | |||
| 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer' | |||
| }) | |||
| viewer.addTerrain(terrain) | |||
| let tilsetLayer = new DC.TilesetLayer('layer').addTo(viewer) | |||
| tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(10) | |||
| tilsetLayer.addOverlay(tileset) | |||
| plot = new DC.Plot(viewer,{ | |||
| clampToGround: false | |||
| }) | |||
| viewer.use(new DC.Analysis()) | |||
| viewer.flyToPosition("102.72499624,30.46623447,13002.32,13.57,-21.91") | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,137 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="drawStartPoint()">起点</button></li> | |||
| <li><button onclick="drawEndPoint()">终点</button></li> | |||
| <li><button onclick="removeAll()">清除</button></li> | |||
| <li><button onclick="gotoTerrain()">定位山区</button></li> | |||
| <li><button onclick="gotoModel()">定位模型</button></li> | |||
| </ul> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let layer = undefined | |||
| let startPoint = undefined | |||
| let endPoint = undefined | |||
| let plot = undefined | |||
| let tileset = undefined | |||
| function drawStartPoint(){ | |||
| startPoint && layer.removeOverlay(startPoint) | |||
| plot.draw(DC.OverlayType.BILLBOARD,overlay => { | |||
| startPoint = overlay | |||
| startPoint.size=[71,85] | |||
| startPoint.setStyle({ | |||
| scale:0.5 | |||
| }) | |||
| layer.addOverlay(startPoint) | |||
| if(startPoint && endPoint){ | |||
| viewer.analysis.deactivate(DC.AnalysisType.SIGHT_LINE) | |||
| viewer.analysis.sightLine( startPoint.position,endPoint.position,[startPoint,endPoint]) | |||
| } | |||
| },{ | |||
| image:"../assets/icon/start.png", | |||
| width:71, | |||
| height:85, | |||
| scale:0.5 | |||
| }) | |||
| } | |||
| function drawEndPoint(){ | |||
| endPoint && layer.removeOverlay(endPoint) | |||
| plot.draw(DC.OverlayType.BILLBOARD,overlay => { | |||
| endPoint = overlay | |||
| endPoint.size=[71,85] | |||
| endPoint.setStyle({ | |||
| scale:0.5 | |||
| }) | |||
| layer.addOverlay(endPoint) | |||
| if(startPoint && endPoint){ | |||
| viewer.analysis.deactivate(DC.AnalysisType.SIGHT_LINE) | |||
| viewer.analysis.sightLine( startPoint.position,endPoint.position,[startPoint,endPoint]) | |||
| } | |||
| },{ | |||
| image:"../assets/icon/end.png", | |||
| width:71, | |||
| height:85, | |||
| scale:0.5 | |||
| }) | |||
| } | |||
| function removeAll(){ | |||
| layer.clear() | |||
| startPoint = undefined | |||
| endPoint = undefined | |||
| viewer.analysis.deactivate(DC.AnalysisType.SIGHT_LINE) | |||
| } | |||
| function gotoTerrain(){ | |||
| removeAll() | |||
| viewer.flyToPosition("102.72499624,30.46623447,13002.32,13.57,-21.91") | |||
| } | |||
| function gotoModel(){ | |||
| removeAll() | |||
| viewer.flyTo(tileset) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({enableFxaa:true}) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let terrain = DC.TerrainFactory.createArcgisTerrain({ | |||
| url: | |||
| 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer' | |||
| }) | |||
| viewer.addTerrain(terrain) | |||
| layer = new DC.VectorLayer('layer').addTo(viewer) | |||
| let tilsetLayer = new DC.TilesetLayer('layer').addTo(viewer) | |||
| tileset = new DC.Tileset( | |||
| '//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json' | |||
| ) | |||
| tileset.setHeight(10) | |||
| tilsetLayer.addOverlay(tileset) | |||
| plot = new DC.Plot(viewer,{ | |||
| clampToGround: false | |||
| }) | |||
| viewer.use(new DC.Analysis()) | |||
| viewer.flyToPosition("102.72499624,30.46623447,13002.32,13.57,-21.91") | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,90 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| let terrainClipping = undefined | |||
| let plot = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:true | |||
| } | |||
| }) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84", | |||
| style:"img" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| terrainClipping = new DC.TerrainClipping(viewer,{ | |||
| bottomImage: '../assets/analysis/excavate_bottom.jpeg', | |||
| sideImage: '../assets/analysis/excavate_side.png' | |||
| }) | |||
| terrainClipping.enable = true | |||
| terrainClipping.height = 20 | |||
| plot= new DC.Plot(viewer) | |||
| addGuiController() // add controller | |||
| } | |||
| function addGuiController(){ | |||
| let controls = { | |||
| '\u6807\u7ed8':()=>{ | |||
| plot.draw(DC.OverlayType.POLYGON,overlay => { | |||
| terrainClipping.positions=overlay.positions | |||
| }) | |||
| }, | |||
| '\u6e05\u9664':()=>{ | |||
| terrainClipping.positions = [] | |||
| }, | |||
| '\u6df1\u5ea6\u68c0\u6d4b': true, | |||
| enable:true, | |||
| height:20 | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'enable').onChange(value=>{ | |||
| terrainClipping.enable = value | |||
| }) | |||
| gui.add(controls,'height',20,80).step(10).onChange(value=>{ | |||
| terrainClipping.height=value | |||
| }) | |||
| gui.add(controls,'深度检测').onChange(value=>{ | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:value | |||
| } | |||
| }) | |||
| }) | |||
| gui.add(controls,'标绘') | |||
| gui.add(controls,'清除') | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,94 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| let terrainClipping = undefined | |||
| let plot = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:true | |||
| } | |||
| }) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| crs:"WSG84", | |||
| style:"img" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let terrain = DC.TerrainFactory.createUrlTerrain({ | |||
| url: 'http://data.marsgis.cn/terrain' | |||
| }) | |||
| viewer.addTerrain(terrain) | |||
| terrainClipping = new DC.TerrainClipping(viewer,{ | |||
| bottomImage: '../assets/analysis/excavate_bottom.jpeg', | |||
| sideImage: '../assets/analysis/excavate_side.png' | |||
| }) | |||
| terrainClipping.enable = true | |||
| terrainClipping.height = 20 | |||
| plot= new DC.Plot(viewer) | |||
| addGuiController() // add controller | |||
| } | |||
| function addGuiController(){ | |||
| let controls = { | |||
| '\u6807\u7ed8':()=>{ | |||
| plot.draw(DC.OverlayType.POLYGON,overlay => { | |||
| terrainClipping.positions=overlay.positions | |||
| }) | |||
| }, | |||
| '\u6e05\u9664':()=>{ | |||
| terrainClipping.positions = [] | |||
| }, | |||
| '\u6df1\u5ea6\u68c0\u6d4b': true, | |||
| enable:true, | |||
| height:20 | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'enable').onChange(value=>{ | |||
| terrainClipping.enable = value | |||
| }) | |||
| gui.add(controls,'height',20,80).step(10).onChange(value=>{ | |||
| terrainClipping.height=value | |||
| }) | |||
| gui.add(controls,'深度检测').onChange(value=>{ | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:value | |||
| } | |||
| }) | |||
| }) | |||
| gui.add(controls,'标绘') | |||
| gui.add(controls,'清除') | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,104 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| let tilesetClipping = undefined | |||
| let plot = undefined | |||
| function locate(){ | |||
| viewer.flyTo(viewer.getLayer("layer").getOverlays()[0]) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.TilesetLayer("layer").addTo(viewer) | |||
| let tileset = new DC.Tileset('//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json') | |||
| tileset.setHeight(-420) | |||
| layer.addOverlay(tileset) | |||
| viewer.flyTo(tileset) | |||
| tilesetClipping = new DC.TilesetClipping(tileset) | |||
| tilesetClipping.enable = true | |||
| tilesetClipping.direction = DC.ClippingDirection.LEFT | |||
| plot= new DC.Plot(viewer) | |||
| addGuiController() | |||
| } | |||
| function addGuiController(){ | |||
| let controls = { | |||
| '\u65b9\u5411': 'left', | |||
| '\u8ddd\u79bb': 0, | |||
| '\u6807\u7ed8\u7ebf':()=>{ | |||
| tilesetClipping.angle = 0 | |||
| tilesetClipping.direction = undefined | |||
| plot.draw(DC.OverlayType.POLYLINE,overlay => { | |||
| console.log(overlay.positions) | |||
| tilesetClipping.positions = overlay.positions.slice(0,2) | |||
| }) | |||
| }, | |||
| '\u6807\u7ed8\u9762':()=>{ | |||
| tilesetClipping.angle = 0 | |||
| tilesetClipping.direction = undefined | |||
| plot.draw(DC.OverlayType.POLYGON,overlay => { | |||
| console.log(overlay.positions) | |||
| tilesetClipping.positions = overlay.positions | |||
| }) | |||
| }, | |||
| '\u6e05\u9664':()=>{ | |||
| tilesetClipping.positions = [] | |||
| }, | |||
| '\u89d2\u5ea6': 0, | |||
| enable:true | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'enable').onChange(value=>{ | |||
| tilesetClipping.enable = value | |||
| }) | |||
| gui.add(controls,'方向',{ '\u5411\u4e0a': 'up', '\u5411\u4e0b': 'down', '\u5411\u5de6': 'left' , '\u5411\u53f3': 'right','\u5411\u524d': 'front','\u5411\u540e':'back' } ).onChange(value=>{ | |||
| tilesetClipping.direction = value | |||
| }) | |||
| gui.add(controls,'角度',0,360).step(5).onChange(value=>{ | |||
| tilesetClipping.angle=value | |||
| }) | |||
| gui.add(controls,'标绘线') | |||
| gui.add(controls,'标绘面') | |||
| gui.add(controls,'距离',-300,300).step(10).onChange(value=>{ | |||
| tilesetClipping.distance=value | |||
| }) | |||
| gui.add(controls,'清除') | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,78 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"> | |||
| <div class="btn-box"> | |||
| <ul> | |||
| <li><button onclick="translation()">移动</button></li> | |||
| <li><button onclick="rotation()">旋转</button></li> | |||
| <li><button onclick="stop()">结束</button></li> | |||
| <li><button onclick="locate()">定位</button></li> | |||
| </ul> | |||
| </div> | |||
| </div> | |||
| <script> | |||
| let viewer = undefined | |||
| let positionEditor = undefined | |||
| function translation(){ | |||
| positionEditor.activate(DC.PositionEditorType.TRANSLATION,e=>{}) | |||
| } | |||
| function rotation(){ | |||
| positionEditor.activate(DC.PositionEditorType.ROTATION,e=>{}) | |||
| } | |||
| function stop(){ | |||
| positionEditor.deactivate() | |||
| } | |||
| function locate(){ | |||
| viewer.flyTo(viewer.getLayer("layer").getOverlays()[0]) | |||
| } | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark', | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.TilesetLayer("layer").addTo(viewer) | |||
| let tileset = new DC.Tileset('//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json') | |||
| layer.addOverlay(tileset) | |||
| positionEditor = new DC.PositionEditor(viewer,{ | |||
| axisLineScale: 10 | |||
| }) | |||
| positionEditor.overlay = tileset | |||
| viewer.flyTo(tileset) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -1,107 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| <style> | |||
| *{ | |||
| margin: 0; | |||
| padding: 0; | |||
| } | |||
| html,body,#viewer-container{ | |||
| width: 100%; | |||
| height: 100%; | |||
| overflow: hidden; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:"img", | |||
| crs:"WGS84" | |||
| }) | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:true | |||
| } | |||
| }) | |||
| let layer = new DC.TilesetLayer("layer").addTo(viewer) | |||
| let tileset = new DC.Tileset('//resource.dvgis.cn/data/3dtiles/dayanta/tileset.json') | |||
| tileset.setHeight(-420) | |||
| layer.addOverlay(tileset) | |||
| viewer.flyTo(tileset) | |||
| viewer.use(new DC.Analysis()) | |||
| viewer.analysis.viewshed("108.95772292882747,34.22122559229137,20,130",400, 60,1.3) | |||
| addGuiController() | |||
| } | |||
| function addGuiController(){ | |||
| let position = DC.Position.fromString("108.95772292882747,34.22122559229137,20,130") | |||
| let controls = { | |||
| depthTest: true, | |||
| fov: 60, | |||
| aspectRatio:1.3, | |||
| far:400, | |||
| heading:130, | |||
| showHelp:false | |||
| } | |||
| let gui = new dat.GUI() | |||
| gui.add(controls,'depthTest').onChange(value=>{ | |||
| viewer.setOptions({ | |||
| globe:{ | |||
| depthTestAgainstTerrain:value | |||
| } | |||
| }) | |||
| }) | |||
| gui.add(controls,'fov',0,100).step(10).onChange(value=>{ | |||
| viewer.analysis.viewshed(position,controls.far, value , controls.aspectRatio,{ | |||
| showHelp:controls.showHelp | |||
| }) | |||
| }) | |||
| gui.add(controls,'aspectRatio',1,5).step(0.1).onChange(value=>{ | |||
| viewer.analysis.viewshed(position,controls.far, controls.fov , value,{ | |||
| showHelp:controls.showHelp | |||
| }) | |||
| }) | |||
| gui.add(controls,'far',100,1000).step(100).onChange(value=>{ | |||
| viewer.analysis.viewshed(position,value,controls.fov , controls.aspectRatio,{ | |||
| showHelp:controls.showHelp | |||
| }) | |||
| }) | |||
| gui.add(controls,'heading',0,360).step(5).onChange(value=>{ | |||
| position.heading = value | |||
| viewer.analysis.viewshed(position,controls.far,controls.fov , controls.aspectRatio,{ | |||
| showHelp:controls.showHelp | |||
| }) | |||
| }) | |||
| gui.add(controls,'showHelp').onChange(value=>{ | |||
| viewer.analysis.viewshed(position,controls.far,controls.fov ,controls.aspectRatio,{ | |||
| showHelp:value | |||
| }) | |||
| }) | |||
| } | |||
| DC.ready(initViewer) | |||
| </script> | |||
| </body> | |||
| </html> | |||
| @@ -31,18 +31,22 @@ | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({ | |||
| style:'img' | |||
| viewer = new DC.Viewer('viewer-container',{ | |||
| contextOptions: { | |||
| requestWebgl1: true, | |||
| }, | |||
| }) | |||
| baselayer.defaultBrightness=0.2 | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer') | |||
| chartLayer.setOption(getOption()) | |||
| viewer.addLayer(chartLayer) | |||
| } | |||
| ) | |||
| } | |||
| @@ -8,6 +8,7 @@ | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -32,17 +33,13 @@ | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -5,8 +5,10 @@ | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -30,18 +32,13 @@ | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -5,8 +5,10 @@ | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -30,18 +32,13 @@ | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -5,8 +5,10 @@ | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -23,6 +25,7 @@ | |||
| </style> | |||
| </head> | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| @@ -30,20 +33,14 @@ | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| } | |||
| @@ -1,12 +1,13 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -26,23 +27,17 @@ | |||
| <body> | |||
| <div id="viewer-container"></div> | |||
| <script> | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -1,12 +1,15 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -30,18 +33,13 @@ | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -1,12 +1,17 @@ | |||
| <!DOCTYPE html> | |||
| <html lang="en"> | |||
| <html lang="en"> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <title>dc-example</title> | |||
| <script src='http://dc.dvgis.cn/libs/echarts/echarts.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.chart.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -30,18 +35,13 @@ | |||
| let viewer = undefined | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness = 0.1 | |||
| viewer.addBaseLayer(baselayer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let chartLayer = new DC.ChartLayer('layer').addTo(viewer) | |||
| chartLayer.setOption(getOption()) | |||
| } | |||
| ) | |||
| @@ -44,10 +44,12 @@ | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness= 0.2 | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.HeatLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let positions = generatePosition(1000) | |||
| layer.setPositions(positions) | |||
| setTimeout(()=>{ | |||
| let layer = new DC.HeatLayer('layer') | |||
| viewer.addLayer(layer) | |||
| let positions = generatePosition(1000) | |||
| layer.setPositions(positions) | |||
| }) | |||
| viewer.flyToPosition("120.670183527,31.348282115,109658.22,0,-89.90659095062371") | |||
| } | |||
| DC.ready(initViewer) | |||
| @@ -49,11 +49,15 @@ | |||
| '//resource.dvgis.cn/data/3dtiles/ljz/tileset.json' | |||
| ) | |||
| buildingLayer.addOverlay(tileset) | |||
| let layer = new DC.HeatLayer('layer',{ | |||
| useGround: true | |||
| setTimeout(()=>{ | |||
| let layer = new DC.HeatLayer('layer',{ | |||
| useGround: true | |||
| }) | |||
| viewer.addLayer(layer) | |||
| layer.setPositions(generatePosition(10000)) | |||
| }) | |||
| viewer.addLayer(layer) | |||
| layer.setPositions(generatePosition(10000)) | |||
| viewer.flyToPosition("121.45765915248303,31.202070402003816,2301.94,44.95,-23.06") | |||
| } | |||
| DC.ready(initViewer) | |||
| @@ -44,12 +44,14 @@ | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness= 0.2 | |||
| viewer.addBaseLayer(baselayer) | |||
| let layer = new DC.HeatLayer('layer',{}) | |||
| viewer.addLayer(layer) | |||
| layer.setPositions(generatePosition(10000)) | |||
| let layer2 = new DC.HeatLayer('layer2',{ height:4000 }) | |||
| viewer.addLayer(layer2) | |||
| layer2.setPositions( generatePosition(10000)) | |||
| setTimeout(()=>{ | |||
| let layer = new DC.HeatLayer('layer',{}) | |||
| viewer.addLayer(layer) | |||
| layer.setPositions(generatePosition(10000)) | |||
| let layer2 = new DC.HeatLayer('layer2',{ height:4000 }) | |||
| viewer.addLayer(layer2) | |||
| layer2.setPositions( generatePosition(10000)) | |||
| }) | |||
| viewer.flyToPosition("120.58464690,30.57441821,35840.6299288431,5.80,-27.24") | |||
| } | |||
| DC.ready(initViewer) | |||
| @@ -151,13 +151,9 @@ | |||
| function initViewer() { | |||
| viewer = new DC.Viewer('viewer-container') | |||
| viewer.scene.canvas.setAttribute('tabIndex', 0) | |||
| let baselayer_midnight = DC.ImageryLayerFactory.createBaiduImageryLayer({ | |||
| style: 'dark' | |||
| }) | |||
| viewer.addBaseLayer(baselayer_midnight, { | |||
| iconUrl: '../assets/icon/midnight.png', | |||
| name: '午夜蓝' | |||
| }) | |||
| let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer() | |||
| baselayer.defaultBrightness= 0.2 | |||
| viewer.addBaseLayer(baselayer) | |||
| let data = [] | |||
| for (let key in geoCoordMap) { | |||
| let geoCoord = geoCoordMap[key] | |||
| @@ -193,11 +189,12 @@ | |||
| }, | |||
| draw: 'grid' | |||
| } | |||
| let layer = new DC.MapvLayer('layer', options) | |||
| viewer.addLayer(layer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let layer = new DC.MapvLayer('layer', options) | |||
| viewer.addLayer(layer) | |||
| layer.setDataSet(dataset) | |||
| } | |||
| ) | |||
| @@ -7,6 +7,7 @@ | |||
| <title>dc-example</title> | |||
| <script src='/libs/dc-sdk/dc.base.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.core.min.js'></script> | |||
| <script src='/libs/dc-sdk/dc.mapv.min.js'></script> | |||
| <script>DC.baseUrl='../libs/dc-sdk/resources/'</script> | |||
| <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'> | |||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||
| @@ -202,11 +203,12 @@ | |||
| }, | |||
| draw: 'grid' | |||
| } | |||
| let layer = new DC.MapvLayer('layer', options) | |||
| viewer.addLayer(layer) | |||
| viewer.flyToPosition( | |||
| new DC.Position(108.198353, 20.758452, 10733735.96, 0, -90, 0), | |||
| () => { | |||
| let layer = new DC.MapvLayer('layer', options) | |||
| viewer.addLayer(layer) | |||
| layer.setDataSet(dataset) | |||
| } | |||
| ) | |||
| @@ -1,6 +1,6 @@ | |||
| in vec2 v_textureCoordinates; | |||
| uniform sampler2D colorTexture; | |||
| uniform sampler2D depthTexture; | |||
| varying vec2 v_textureCoordinates; | |||
| uniform vec3 centerWC; | |||
| uniform vec3 normalWC; | |||
| uniform float radius; | |||
| @@ -29,7 +29,7 @@ vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point | |||
| } | |||
| void main() { | |||
| gl_FragColor = texture(colorTexture, v_textureCoordinates); | |||
| out_FragColor = texture(colorTexture, v_textureCoordinates); | |||
| float depth = getDepth(); | |||
| vec4 viewPos = toEye(v_textureCoordinates, depth); | |||
| vec4 center = czm_view * vec4(centerWC,1); | |||
| @@ -41,6 +41,6 @@ void main() { | |||
| if(dis < temp) { | |||
| float f = 1.0 - abs(temp - dis) / temp; | |||
| f = pow(f, 4.0); | |||
| gl_FragColor = mix(gl_FragColor, color, f); | |||
| out_FragColor = mix(out_FragColor, color, f); | |||
| } | |||
| } | |||
| @@ -1,6 +1,6 @@ | |||
| in vec2 v_textureCoordinates; | |||
| uniform sampler2D colorTexture; | |||
| uniform sampler2D depthTexture; | |||
| varying vec2 v_textureCoordinates; | |||
| uniform vec3 centerWC; | |||
| uniform vec3 planeNormalWC; | |||
| uniform vec3 lineNormalWC; | |||
| @@ -46,7 +46,7 @@ float distancePointToLine(in vec3 ptOnLine, in vec3 lineNormal, in vec3 testPt) | |||
| } | |||
| void main() { | |||
| gl_FragColor = texture(colorTexture, v_textureCoordinates); | |||
| out_FragColor = texture(colorTexture, v_textureCoordinates); | |||
| float depth = getDepth(); | |||
| vec4 viewPos = toEye(v_textureCoordinates, depth); | |||
| vec4 centerEC = czm_view * vec4(centerWC,1); | |||
| @@ -65,6 +65,6 @@ void main() { | |||
| f = abs(diameter - dis1) / diameter; | |||
| f = pow(f, 3.0); | |||
| } | |||
| gl_FragColor = mix(gl_FragColor, color, f + f0); | |||
| out_FragColor = mix(out_FragColor, color, f + f0); | |||
| } | |||
| } | |||