riku
2024-12-25 234c83d83c8835667c97c962d201ab4a3ce868b8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import calculate from '@/utils/map/calculate';
import gridMapUtil from '@/utils/map/grid';
import { map } from '@/utils/map/index_old';
 
function clearAll(mapViews) {
  if (mapViews) {
    if (typeof mapViews.textViews === 'object') {
      map.remove(mapViews.textViews);
    }
    if (typeof mapViews.gridViews === 'object') {
      map.remove(mapViews.gridViews);
    }
  }
}
 
function clearText(mapViews) {
  if (mapViews && typeof mapViews.textViews === 'object') {
    map.remove(mapViews.textViews);
  }
}
 
// 绘制网格线
function drawPolyline(gridInfo) {
  // 绘制网格
  const points = gridInfo.map((v) => {
    return calculate.wgs84_To_Gcj02(v.longitude, v.latitude);
  });
  const gridPoints = gridMapUtil.parseGridPoint(points);
  const gridViews = gridMapUtil.drawPolylines(gridPoints);
  return { gridViews, gridPoints, points };
}
 
// 绘制监测数据值
function drawDataText(points, gridData, textViews) {
  const data = gridData.map((v, i) => {
    return {
      lnglat_GD: points[i],
      data: v.pm25
    };
  });
  return gridMapUtil.drawGridText(data, textViews);
}
 
// 绘制监测数据排名文本
function drawRankText(points, gridData) {
  const data = gridData.map((v, i) => {
    return {
      lnglat_GD: points[i],
      data: v.rank
    };
  });
  return gridMapUtil.drawGridText(data);
}
 
// 绘制监测数据值对应网格颜色
function drawColor(gridViews, gridData) {
  const pm25Data = gridData.map((v) => {
    return v.pm25;
  });
  gridMapUtil.drawGridColor(gridViews, pm25Data, 'PM25');
}
 
export default {
  drawPolyline,
  drawDataText,
  drawRankText,
  drawColor,
  clearText,
  clearAll
};