From 884c5978fed0eea6da626ef9d5ec0f2ee0381d80 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 19 Mar 2022 15:57:27 +0800
Subject: [PATCH] 热力图

---
 src/components/map/components/dimension.vue |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 9b9f8dd..3ef79c3 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -16,6 +16,14 @@
             @click="locationSAT"
         >科技</el-button>
 
+        <el-button
+            v-show="btnGroupShow"
+            size="mini"
+            class="sat-tc"
+            type="primary"
+            @click="locationTC"
+        >热力图</el-button>
+
         <el-radio-group v-model="dimensionValue" size="medium" @change="dimensionChange">
             <el-radio-button label="三 维"></el-radio-button>
             <el-radio-button label="真三维"></el-radio-button>
@@ -46,6 +54,7 @@
 
 let layerSat = null
 let layerSATtwo = null
+let tcLayer = null
 
 const wallLayer = null
 
@@ -831,10 +840,41 @@
             global.viewer.flyToPosition('121.4941629,31.2091462,1859.56,0,-28.71')
         },
 
+        locationTC () {
+            global.viewer.flyToPosition('120.670183527,31.348282115,109658.22,0,-89.90659095062371')
+        },
+
+        generatePosition (num) {
+            const list = []
+            for (let i = 0; i < num; i++) {
+                const lng = 120.38105869 + Math.random() * 0.5
+                const lat = 31.10115627 + Math.random() * 0.5
+                list.push(new global.DC.Position(lng, lat))
+            }
+            return list
+        },
+
+        removeTC () {
+            global.viewer.removeLayer(tcLayer)
+            tcLayer = null
+        },
+
+        createTC () {
+            tcLayer = new global.DC.HeatLayer('tcLayer', {
+                useGround: true,
+                radius: 40
+            })
+            global.viewer.addLayer(tcLayer)
+            const positions = this.generatePosition(3000)
+            tcLayer.setPositions(positions)
+        },
+
         // 科技感删除
         removeSAT () {
             global.viewer.remove(layerSat)
             global.viewer.remove(layerSATtwo)
+            layerSat = null
+            layerSATtwo = null
         },
 
         // 科技感添加
@@ -903,6 +943,7 @@
             if (that.dimensionValue == '真三维') {
                 that.btnGroupShow = true
                 that.createSAT()
+                that.createTC()
                 global.viewer.off(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
                 global.viewer.off(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
                 that.removeLayers()
@@ -953,6 +994,7 @@
             } else {
                 that.btnGroupShow = false
                 that.removeSAT()
+                that.removeTC()
                 global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
                 global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
                 tileset.off(global.DC.MouseEventType.CLICK, that.tilesetClick)
@@ -1021,4 +1063,11 @@
     right: 75px;
     z-index: 99;
 }
+
+.sat-tc {
+    position: fixed;
+    top: 66px;
+    right: 141px;
+    z-index: 99;
+}
 </style>

--
Gitblit v1.9.3