From 4f1fb28dad6a4df83752dc9b60f504764f8e3dcb Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 03 一月 2025 10:08:54 +0800
Subject: [PATCH] 完善数据融合功能(未完成)

---
 src/utils/map/grid.js |   53 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/src/utils/map/grid.js b/src/utils/map/grid.js
index df44cf7..2a45509 100644
--- a/src/utils/map/grid.js
+++ b/src/utils/map/grid.js
@@ -259,26 +259,6 @@
   },
 
   drawGridColor(gridViews, texts, factorName) {
-    // new Promise((resolve, reject) => {
-    //   gridViews.forEach((g, i) => {
-    //     const data = parseFloat(texts[i]);
-    //     const { color, nextColor, range, nextRange } =
-    //       Legend.getStandardColorAndNext(factorName, data);
-    //     const ratio = (data - range) / (nextRange - range);
-    //     const _color = getColorBetweenTwoColors(
-    //       color.map((v) => v * 255),
-    //       nextColor.map((v) => v * 255),
-    //       ratio
-    //     );
-    //     resolve({ g, _color, color });
-    //   });
-    // }).then((res) => {
-    //   const { g, _color, color } = res;
-    //   g.setOptions({
-    //     fillColor: _color,
-    //     fillOpacity: color[3]
-    //   });
-    // });
     gridViews.forEach((g, i) => {
       const data = parseFloat(texts[i]);
       const { color, nextColor, range, nextRange } =
@@ -291,8 +271,37 @@
       );
       g.setOptions({
         fillColor: _color,
-        fillOpacity: color[3]
+        fillOpacity: color[3] == 0 ? 0 : 0.7
       });
     });
-  }
+  },
+
+  drawGridColorCustom(gridViews, texts) {
+    var max,min
+    texts.forEach(t => {
+      if (!max || t > max) {
+        max = t
+      }
+      if (!min || t < min) {
+        min = t
+      }
+    });
+    gridViews.forEach((g, i) => {
+      const data = parseFloat(texts[i]);
+      const { color, nextColor, range, nextRange } =
+        Legend.getCustomColorAndNext(data, min, max);
+      const ratio = (data - range) / (nextRange - range);
+      
+      const _color = getColorBetweenTwoColors(
+        color.map((v) => v * 255),
+        nextColor.map((v) => v * 255),
+        ratio
+      );
+      g.setOptions({
+        fillColor: _color,
+        // fillOpacity: color[3]
+        fillOpacity: color[3] == 0 ? 0 : 0.7
+      });
+    });
+  },
 };

--
Gitblit v1.9.3