您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <div id="viewer-container" class="viewer-container"></div>
  2. <script>
  3. let viewer = undefined
  4. function loadBuild(){
  5. let layer = new DC.TilesetLayer('layer_build').addTo(viewer)
  6. let build = new DC.Tileset(
  7. '//resource.dvgis.cn/data/3dtiles/sz/tileset.json',
  8. {skipLevels:true}
  9. )
  10. let fs = `
  11. varying vec3 v_positionEC;
  12. void main(void){
  13. vec4 position = czm_inverseModelView * vec4(v_positionEC,1); // 位置
  14. float glowRange = 100.0; // 光环的移动范围(高度)
  15. gl_FragColor = vec4(0.2, 0.5, 1.0, 1.0); // 颜色
  16. gl_FragColor *= vec4(vec3(position.z / 100.0), 1.0); // 渐变
  17. // 动态光环
  18. float time = fract(czm_frameNumber / 360.0);
  19. time = abs(time - 0.5) * 2.0;
  20. float diff = step(0.005, abs( clamp(position.z / glowRange, 0.0, 1.0) - time));
  21. gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - diff);
  22. }
  23. `
  24. build.setCustomShader(fs)
  25. layer.addOverlay(build)
  26. viewer.flyTo(build)
  27. }
  28. DC.config.baseUrl = '../libs/dc-sdk/resources/'
  29. let viewer = new DC.Viewer('viewer-container')
  30. let baseLayer = DC.ImageryLayerFactory.createAMapImageryLayer({
  31. style: 'img',
  32. crs:'WGS84'
  33. })
  34. baseLayer.defaultBrightness = 0.05
  35. viewer.addBaseLayer([ baseLayer])
  36. let terrain = DC.TerrainFactory.createUrlTerrain({
  37. url: 'http://data.marsgis.cn/terrain'
  38. })
  39. viewer.addTerrain(terrain)
  40. loadBuild()
  41. }
  42. </script>