You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

bounce_billboard.html 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. let viewer = undefined
  15. let layer = undefined
  16. function generatePosition(num) {
  17. let list = []
  18. for (let i = 0; i < num; i++) {
  19. let lng = 120.38105869 + Math.random() * 0.5
  20. let lat = 31.10115627 + Math.random() * 0.5
  21. list.push(new DC.Position(lng, lat))
  22. }
  23. return list
  24. }
  25. function initViewer() {
  26. viewer = new DC.Viewer('viewer-container')
  27. let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.AMAP,{
  28. style:'img',
  29. crs:'WGS84'
  30. })
  31. viewer.addBaseLayer( baseLayer)
  32. layer = new DC.PrimitiveLayer('layer')
  33. viewer.addLayer(layer)
  34. let positions = generatePosition(100)
  35. positions.forEach(item => {
  36. let billboard = new DC.BounceBillboardPrimitive(item, '../assets/icon/pin.png')
  37. billboard.setStyle({
  38. offsetAmount: Math.random()
  39. })
  40. billboard.on(DC.MouseEventType.CLICK,e=> console.log(e))
  41. layer.addOverlay(billboard)
  42. })
  43. viewer.flyToPosition("120.8226729498609,31.268693185250438,114716.63624611919,0,-90")
  44. }
  45. DC.ready({
  46. baseUrl:'../libs/dc-sdk/resources/'
  47. }).then(initViewer)
  48. </script>
  49. </body>
  50. </html>