From 42f42dc88214f283b43c422f37e10ab45c5c5578 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 12 三月 2025 17:32:13 +0800 Subject: [PATCH] 1. 新增绘图模式的切换 2. 新增行政区划的切换展示 --- src/model/FactorDatas.js | 63 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/model/FactorDatas.js b/src/model/FactorDatas.js index 58bc5a8..eba6446 100644 --- a/src/model/FactorDatas.js +++ b/src/model/FactorDatas.js @@ -1,5 +1,6 @@ import { Factor } from './Factor'; import calculate from '@/utils/map/calculate'; +import { Legend } from './Legend'; /** * @@ -16,12 +17,24 @@ // 鐩戞祴鍥犲瓙鏁版嵁锛孧ap<String, Factor> this.factor = new Map(); - if (options != undefined) { - this.times = options.times; - this.lnglats_GPS = options.lnglats_GPS; - this.lnglats_GD = options.lnglats_GD; - this.coors_GD = options.coors_GD; - this.factor = options.factor; + this.legendType = Legend.S_TYPE; //鍥句緥妯″紡 + + // if (options != undefined) { + // this.times = options.times; + // this.lnglats_GPS = options.lnglats_GPS; + // this.lnglats_GD = options.lnglats_GD; + // this.coors_GD = options.coors_GD; + // this.factor = options.factor; + // this.legendType = options.legendType; + // } + + if (typeof options === 'object') { + for (const key in options) { + if (Object.prototype.hasOwnProperty.call(options, key)) { + const value = options[key]; + this[key] = value; + } + } } } @@ -47,6 +60,9 @@ }] */ setData: function (dataList, drawMode, callback) { + if (dataList.length == 0) { + return; + } this.clearData(); dataList.forEach((d) => { @@ -55,7 +71,9 @@ d.values.forEach((v) => { var f = this.factor[v.factorId]; if (f == undefined) { - f = new Factor(); + f = new Factor({ + legendType: this.legendType + }); this.factor[v.factorId] = f; } f.pushData(v, drawMode == undefined ? 0 : drawMode); @@ -67,6 +85,10 @@ // 鏂板涓�涓柊鏁版嵁 addData: function (dataList, drawMode, callback) { + if (dataList.length == 0) { + return; + } + var newGps = []; dataList.forEach((data) => { this.times.push(data.time); @@ -111,17 +133,38 @@ // 璁剧疆缁樺浘鑼冨洿 setRange: function (key, range) { - this.factor[key].setRange(range); + this.legendType = Legend.C_TYPE; + if (key != undefined) { + this.factor[key].setRange(range); + } else { + for (const k in this.factor) { + this.factor[k].setRange(range); + } + } }, // 閲嶇疆缁樺浘鑼冨洿 resetRange: function (key) { - this.factor[key].clearRange(); + this.legendType = Legend.D_TYPE; + if (key != undefined) { + this.factor[key].clearRange(); + } else { + for (const k in this.factor) { + this.factor[k].clearRange(); + } + } }, // 璁剧疆涓烘爣鍑嗙粯鍥捐寖鍥� standardRange: function (key) { - this.factor[key].standardRange(); + this.legendType = Legend.S_TYPE; + if (key != undefined) { + this.factor[key].standardRange(); + } else { + for (const k in this.factor) { + this.factor[k].standardRange(); + } + } }, // 鏍规嵁褰撳墠缁樺浘鑼冨洿閲嶆柊璁$畻缁樺浘楂樺害 -- Gitblit v1.9.3