From 4097cc9ad6c60bbb5e9864d3f54a37cfbb40026e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 05 三月 2025 15:31:28 +0800
Subject: [PATCH] 临时:路网版本

---
 src/model/Legend.js |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/src/model/Legend.js b/src/model/Legend.js
index dffc4e0..9dfbcc4 100644
--- a/src/model/Legend.js
+++ b/src/model/Legend.js
@@ -142,13 +142,21 @@
     ]
   },
 
+  // _custom: [
+  //   [0.05, 0.9, 0.03, 0.75],
+  //   [0.3, 0.65, 0.02, 0.75],
+  //   [0.87, 0.92, 0.03, 0.75],
+  //   [0.8, 0.67, 0.04, 0.75],
+  //   [0.92, 0.28, 0.07, 0.75],
+  //   [0.6, 0.05, 0.05, 0.75]
+  // ],
   _custom: [
-    [0.05, 0.9, 0.03, 0.75],
-    [0.3, 0.65, 0.02, 0.75],
-    [0.87, 0.92, 0.03, 0.75],
-    [0.8, 0.67, 0.04, 0.75],
-    [0.92, 0.28, 0.07, 0.75],
-    [0.6, 0.05, 0.05, 0.75]
+    [0, 0.89, 0, 0.75],
+    [1, 1, 0, 0.75],
+    [1, 0.49, 0, 0.75],
+    [1, 0, 0, 0.75],
+    [0.6, 0, 0.3, 0.75],
+    [0.49, 0, 0.14, 0.75]
   ],
 
   getStandardRange: function (name) {
@@ -181,23 +189,45 @@
   },
 
   /**
+   * 鑾峰彇褰撳墠棰滆壊涓婁竴涓瓑绾х殑棰滆壊
+   * @param {*} name
+   * @param {*} type
+   * @param {*} color
+   */
+  getPreviousColor(name, type, color) {
+    let colors;
+    if (type == this.S_TYPE) {
+      colors = this._legend_c[name];
+    } else {
+      colors = this._custom;
+    }
+    if (colors == undefined) {
+      colors = this._legend_c['PM25'];
+    }
+    let index = colors.indexOf(color);
+    index--;
+    if (index < 0) index = 0;
+    return colors[index];
+  },
+
+  /**
    * 鑾峰彇鐩戞祴鍥犲瓙褰撳墠娴撳害瀵瑰簲鐨勯鑹�
    * @param name 鐩戞祴鍥犲瓙鍚嶇О
    * @param data 鐩戞祴鍥犲瓙娴撳害
    */
   getStandardColor: function (name, data) {
-    var range = this._legend_r[name];
-    var colors = this._legend_c[name];
+    let range = this._legend_r[name];
+    let colors = this._legend_c[name];
     if (range == undefined) {
       range = this._legend_r['PM25'];
       colors = this._legend_c['PM25'];
     }
     // return colors[0]
 
-    var selected = undefined;
+    let selected = undefined;
     for (let i = 0; i < range.length; i++) {
       const d = range[i];
-      var d1 = d;
+      let d1 = d;
       if (name == 'CO') {
         d1 *= 1000;
       }
@@ -219,7 +249,7 @@
 
   getCustomColor: function (data, min, max) {
     var per = (max - min) / this._custom.length;
-    var i = parseInt(data / per);
+    var i = parseInt((data - min) / per);
     if (i >= this._custom.length) {
       i = this._custom.length - 1;
     }

--
Gitblit v1.9.3