 
							 
							| <div class="container"> | <div class="container"> | ||||
| <div class="nav"> | <div class="nav"> | ||||
| <div class="banner"> DC-SDK v3.2.0 </div> | |||||
| <div class="banner"> DC-SDK v3.3.0 </div> | |||||
| <div class="example-list-wrapper"> | <div class="example-list-wrapper"> | ||||
| <div id="example-list" class="example-list" data-accordion-group> </div> | <div id="example-list" class="example-list" data-accordion-group> </div> | ||||
| <div class="desc"></div> | <div class="desc"></div> | 
| <!DOCTYPE html> | |||||
| <html lang="en"> | |||||
| <head> | |||||
| <meta charset="utf-8"> | |||||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||||
| <title>dc-example</title> | |||||
| <script src='/libs/dc-sdk/dc.min.js'></script> | |||||
| <link href='/libs/dc-sdk/dc.min.css' type='text/css' rel='stylesheet'> | |||||
| <link href='../index.css' type='text/css' rel='stylesheet'> | |||||
| </head> | |||||
| <body> | |||||
| <div id="viewer-container" class="viewer-container"></div> | |||||
| <script> | |||||
| let viewer = undefined | |||||
| function generatePosition(num) { | |||||
| let list = [] | |||||
| let images=["../assets/icon/camera.png","../assets/icon/camera_1.png","../assets/icon/camera_2.png"] | |||||
| for (let i = 0; i < num; i++) { | |||||
| let lng = 120.38105869 + Math.random() * 0.5 | |||||
| let lat = 31.10115627 + Math.random() * 0.5 | |||||
| list.push({ | |||||
| lng, | |||||
| lat, | |||||
| attr:{ | |||||
| id:DC.Util.uuid(), | |||||
| style:{ | |||||
| image:images[Math.floor(Math.random() * images.length)], | |||||
| } | |||||
| }}) | |||||
| } | |||||
| return list | |||||
| } | |||||
| function initViewer() { | |||||
| viewer = new DC.Viewer('viewer-container') | |||||
| let baseLayer = DC.ImageryLayerFactory.createImageryLayer(DC.ImageryType.AMAP) | |||||
| viewer.addBaseLayer( baseLayer) | |||||
| let layer = new DC.ClusterLayer('layer',{ | |||||
| style:'cluster' | |||||
| }) | |||||
| layer.setPoints(generatePosition(10000)) | |||||
| viewer.addLayer(layer) | |||||
| layer.on(DC.MouseEventType.CLICK,e=>{console.log(e.overlay.attr)}) | |||||
| viewer.flyToPosition("120.62244801448453,31.358576663788927,92653.79773798586,0,-90,0") | |||||
| } | |||||
| DC.ready({ | |||||
| baseUrl:'../libs/dc-sdk/resources/' | |||||
| }).then(initViewer) | |||||
| </script> | |||||
| </body> | |||||
| </html> | 
| name: '聚合图层(圆)', | name: '聚合图层(圆)', | ||||
| page: 'cluster_circle.html', | page: 'cluster_circle.html', | ||||
| }, | }, | ||||
| { | |||||
| name: '聚合图层(自定义图片)', | |||||
| page: 'cluster_clustering_image.html', | |||||
| }, | |||||
| { | { | ||||
| name: '经纬网格图层', | name: '经纬网格图层', | ||||
| page: 'graticule.html', | page: 'graticule.html', | 
| }) | }) | ||||
| this._allCount = 0 | this._allCount = 0 | ||||
| this._changedRemoveCallback = undefined | this._changedRemoveCallback = undefined | ||||
| this._lastChangedTime = null | |||||
| this._state = State.INITIALIZED | this._state = State.INITIALIZED | ||||
| } | } | ||||
| return image | return image | ||||
| } | } | ||||
| _changeCluster() { | |||||
| _changeCluster(time) { | |||||
| let now = Cesium.getTimestamp() | |||||
| if (this._lastChangedTime && now - this._lastChangedTime <= 1000) { | |||||
| return | |||||
| } | |||||
| this._lastChangedTime = now | |||||
| this._cache = {} | this._cache = {} | ||||
| this._billboards.removeAll() | this._billboards.removeAll() | ||||
| this._labels.removeAll() | this._labels.removeAll() | ||||
| ], | ], | ||||
| this._viewer.zoom | this._viewer.zoom | ||||
| ) | ) | ||||
| result.forEach((item) => { | result.forEach((item) => { | ||||
| let overlayId = Util.uuid() | let overlayId = Util.uuid() | ||||
| if (item.properties.cluster) { | if (item.properties.cluster) { |