| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <!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>
|