riku
2025-03-12 42f42dc88214f283b43c422f37e10ab45c5c5578
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 @@
  // 监测因子数据,Map<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;
      }
    }
  }
}
@@ -58,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);
@@ -118,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();
      }
    }
  },
  // 根据当前绘图范围重新计算绘图高度