Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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.min.js'></script>
  8. <script src="../dat.gui.min.js"></script>
  9. <link href='/libs/dc-sdk/dc.min.css' type='text/css' rel='stylesheet'>
  10. <link href='../index.css' type='text/css' rel='stylesheet'>
  11. </head>
  12. <body>
  13. <div id="viewer-container" class="viewer-container"></div>
  14. <script>
  15. let viewer = undefined
  16. let weather = undefined
  17. function initViewer() {
  18. viewer = new DC.Viewer('viewer-container')
  19. let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.AMAP,{
  20. style: 'img',
  21. crs:'WGS84'
  22. })
  23. viewer.addBaseLayer(baseLayer)
  24. weather = new DC.Weather(viewer)
  25. addGuiController() // add controller
  26. }
  27. function addGuiController(){
  28. let controls = {
  29. cloudEnable: false,
  30. cloudRotateAmount: 0,
  31. rainEnable: false,
  32. rainSpeed: 10.0,
  33. snowEnable: false,
  34. snowSpeed: 10.0,
  35. rainMixNum: 0.5,
  36. fogEnable: false,
  37. fogColor: "#000000",
  38. fogNear: 10,
  39. fogFar: 200,
  40. }
  41. let gui = new dat.GUI();
  42. let cloud = gui.addFolder("cloud")
  43. cloud.add(controls,'cloudEnable').name("enable").onChange(value=>{
  44. weather.cloud.enable = value
  45. })
  46. cloud.add(controls,'cloudRotateAmount',0,1,0.1).name("rotateAmount").onChange(value=>{
  47. weather.cloud.rotateAmount = Number(value)
  48. })
  49. let rain = gui.addFolder("rain")
  50. rain.add(controls,'rainEnable').name('enable').onChange(value=>{
  51. weather.rain.enable = value
  52. })
  53. rain.add(controls,'rainSpeed',1,20,1).name('speed').onChange(value=>{
  54. weather.rain.speed = Number(value)
  55. })
  56. rain.add(controls,'rainMixNum',0,1,0.1).name('mixNum').onChange(value=>{
  57. weather.rain.mixNum = Number(value)
  58. })
  59. let snow = gui.addFolder("snow")
  60. snow.add(controls,'snowEnable').name('enable').onChange(value=>{
  61. weather.snow.enable = value
  62. })
  63. snow.add(controls,'snowSpeed',1,20,1).name('speed').onChange(value=>{
  64. weather.snow.speed = Number(value)
  65. })
  66. let fog = gui.addFolder("fog")
  67. fog.add(controls,'fogEnable').name('enable').onChange(value=>{
  68. weather.fog.enable = value
  69. })
  70. fog.addColor(controls,'fogColor').onChange(value=>{
  71. weather.fog.color = DC.Color.fromCssColorString(value)
  72. })
  73. fog.add(controls,'fogNear',1,20,1).name('near').onChange(value=>{
  74. weather.fog.fogByDistance = {
  75. near: Number(value),
  76. far: Number(controls.fogFar)
  77. }
  78. })
  79. fog.add(controls,'fogFar',0,200000,10).name('far').onChange(value=>{
  80. weather.fog.fogByDistance = {
  81. near: Number(controls.fogNear),
  82. far: Number(value)
  83. }
  84. })
  85. }
  86. DC.ready({
  87. baseUrl:'../libs/dc-sdk/resources/'
  88. }).then(initViewer)
  89. </script>
  90. </body>
  91. </html>