Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

circle_scan.html 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  6. <title>dc-example</title>
  7. <script src='/libs/dc-sdk/dc.base.min.js'></script>
  8. <script src='/libs/dc-sdk/dc.core.min.js'></script>
  9. <script>DC.baseUrl='../libs/dc-sdk/resources/'</script>
  10. <link href='/libs/dc-sdk/dc.core.min.css' type='text/css' rel='stylesheet'>
  11. <link href='../index.css' type='text/css' rel='stylesheet'>
  12. <style>
  13. *{
  14. margin: 0;
  15. padding: 0;
  16. }
  17. html,body,#viewer-container{
  18. width: 100%;
  19. height: 100%;
  20. overflow: hidden;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div id="viewer-container">
  26. <div class="btn-box">
  27. <ul>
  28. <li><button onclick="start()">开始</button></li>
  29. <li><button onclick="stop()">结束</button></li>
  30. </ul>
  31. </div>
  32. </div>
  33. <script>
  34. let viewer = undefined
  35. let circleScan =undefined
  36. function start(){
  37. circleScan.start()
  38. }
  39. function stop(){
  40. circleScan.stop()
  41. }
  42. function initViewer() {
  43. viewer = new DC.Viewer('viewer-container').setOptions({
  44. globe: {
  45. depthTestAgainstTerrain: true // 当前示例中的Shader渲染需要开启深度检测,并在无地形时效果好些。
  46. }
  47. })
  48. let baselayer = DC.ImageryLayerFactory.createAmapImageryLayer({
  49. style: 'img',
  50. crs:'WGS84'
  51. })
  52. viewer.addBaseLayer(baselayer)
  53. let layer = new DC.TilesetLayer('layer')
  54. viewer.addLayer(layer)
  55. let style = new DC.TilesetStyle()
  56. style.color = {
  57. conditions: [
  58. ['${Height} >= 300', 'rgba(45, 0, 75, 0.5)'],
  59. ['${Height} >= 200', 'rgb(102, 71, 151)'],
  60. ['${Height} >= 100', 'rgb(170, 162, 204)'],
  61. ['${Height} >= 50', 'rgb(224, 226, 238)'],
  62. ['${Height} >= 25', 'rgb(252, 230, 200)'],
  63. ['${Height} >= 10', 'rgb(248, 176, 87)'],
  64. ['${Height} >= 5', 'rgb(198, 106, 11)'],
  65. ['true', 'rgb(127, 59, 8)']
  66. ]
  67. }
  68. let tileset = new DC.Tileset(
  69. 'http://resource.dvgis.cn/data/3dtiles/ljz/tileset.json'
  70. ).setStyle(style)
  71. layer.addOverlay(tileset)
  72. circleScan = new DC.CircleScan(viewer,'121.489206,31.241320', 1000,{
  73. speed: 3
  74. }) // 扫描圈
  75. viewer.flyToPosition(new DC.Position(121.491415, 31.208443, 1954.04, 0, -28))
  76. }
  77. DC.ready(initViewer)
  78. </script>
  79. </body>
  80. </html>