From 7eb2abf43167d9db3fca2e7958b90ff1bea0cead Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 03 三月 2025 13:54:31 +0800
Subject: [PATCH] 污染溯源模块编写中

---
 src/views/satellitetelemetry/SatelliteProxy.js |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/src/views/satellitetelemetry/SatelliteProxy.js b/src/views/satellitetelemetry/SatelliteProxy.js
index 9088429..8e652e0 100644
--- a/src/views/satellitetelemetry/SatelliteProxy.js
+++ b/src/views/satellitetelemetry/SatelliteProxy.js
@@ -7,6 +7,9 @@
   mapViews;
 
   districtPolygon;
+
+  events = new Map();
+
   // 缁樺埗鍖哄幙杈圭晫
   drawDistrict(districtName, isNew) {
     onMapMounted(() => {
@@ -93,7 +96,11 @@
         ]
           // eslint-disable-next-line no-undef
           .map((d) => new AMap.LngLat(d[0], d[1])),
-        extData: points[i]
+        extData: {
+          centerPoint: points[i],
+          // gridPoints,
+          gridCell: v
+        }
       };
     });
     const gridViews = gridMapUtil.drawPolylines({ points: gridPoints, event });
@@ -189,7 +196,7 @@
 
   // 缁樺埗缃戞牸閬ユ劅鏁版嵁鍊煎拰缃戞牸棰滆壊
   drawGrid({
-    gridData,
+    gridDataDetail,
     useCustomColor,
     opacity,
     zIndex,
@@ -200,7 +207,7 @@
     const { resGridViews, pointsRes } = this.drawColor({
       gridViews: this.mapViews.gridViews,
       points: this.mapViews.points,
-      gridDataDetail: gridData,
+      gridDataDetail: gridDataDetail,
       lastGridViews: this.mapViews.lastGridViews,
       customColor: useCustomColor,
       opacity: opacity,
@@ -212,7 +219,7 @@
     // 鏁版嵁鏍囪
     const { textViews: dataTxt, labelsLayer: dataLayer } = this.drawDataText(
       this.mapViews.lastPoints,
-      gridData,
+      gridDataDetail,
       this.mapViews.dataTxt,
       this.mapViews.dataLayer
     );
@@ -221,7 +228,7 @@
 
     const { textViews: rankTxt, labelsLayer: rankLayer } = this.drawRankText(
       this.mapViews.lastPoints,
-      gridData,
+      gridDataDetail,
       this.mapViews.rankTxt,
       this.mapViews.rankLayer
     );
@@ -264,13 +271,38 @@
     });
   }
 
-  setGridEvent(event) {
+  setGridEvent(name, event) {
+    if (!this.events.has(name)) {
+      this.events.set(name, []);
+    }
+    const list = this.events.get(name);
+    if (list.length > 0) {
+      const lastEvent = list[list.length - 1];
+      this.mapViews.gridViews.forEach((polygon) => {
+        polygon.off(name, lastEvent);
+      });
+    }
+    this.events.get(name).push(event);
     this.mapViews.gridViews.forEach((polygon) => {
-      event(polygon);
+      polygon.on(name, event);
     });
   }
 
-  
+  goBackGridEvent(name) {
+    if (this.events.has(name)) {
+      const eventList = this.events.get(name);
+      //鍏堢Щ闄ゅ師鏈夌殑浜嬩欢
+      const lastEvent = eventList.pop();
+      this.mapViews.gridViews.forEach((polygon) => {
+        polygon.off(name, lastEvent);
+      });
+      //鑾峰彇涓婁竴涓簨浠�
+      const event = eventList.pop();
+      this.mapViews.gridViews.forEach((polygon) => {
+        polygon.on(name, event);
+      });
+    }
+  }
 }
 
 // // 鍦板浘缃戞牸鐩稿叧瀵硅薄

--
Gitblit v1.9.3