Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

model_primitive.html 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. <link href="/libs/dc-sdk/dc.min.css" type="text/css" rel="stylesheet" />
  9. <link href="../index.css" type="text/css" rel="stylesheet" />
  10. </head>
  11. <body>
  12. <div id="viewer-container" class="viewer-container"></div>
  13. <script>
  14. const generatePosition = (num) => {
  15. let list = []
  16. for (let i = 0; i < num; i++) {
  17. let lng = 120.38105869 + Math.random() * 0.5
  18. let lat = 31.10115627 + Math.random() * 0.5
  19. list.push(
  20. new DC.Position(
  21. lng,
  22. lat,
  23. 1000 * Math.random(),
  24. 3600 * Math.random()
  25. )
  26. )
  27. }
  28. return list
  29. }
  30. DC.config.baseUrl = '../libs/dc-sdk/resources/'
  31. let viewer = new DC.Viewer('viewer-container')
  32. let baseLayer = DC.ImageryLayerFactory.createImageryLayer(
  33. DC.ImageryType.AMAP,
  34. {
  35. style: 'img',
  36. crs: 'WGS84',
  37. }
  38. )
  39. viewer.addBaseLayer(baseLayer, {
  40. brightness: 0.1,
  41. })
  42. let layer = new DC.PrimitiveLayer('layer').addTo(viewer)
  43. let positions = generatePosition(100)
  44. positions.forEach((item) => {
  45. let model = new DC.ModelPrimitive(item, '../assets/data/Cesium_Air.glb')
  46. model.setStyle({ scale: 50 })
  47. layer.addOverlay(model)
  48. })
  49. viewer.flyToPosition(
  50. '120.82005120445152,30.903795335982288,60975.10826917929,341.02,-50.29'
  51. )
  52. </script>
  53. </body>
  54. </html>