gisviewer-vue3-arcgis 1.0.89 → 1.0.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/es/src/gis-map/gis-map.vue.d.ts +4 -5
  2. package/es/src/gis-map/gis-map.vue.mjs +80 -80
  3. package/es/src/gis-map/index.d.ts +3 -4
  4. package/es/src/gis-map/utils/GreenWaveline.mjs +1 -1
  5. package/es/src/gis-map/utils/holo-flow/index.d.ts +2 -0
  6. package/es/src/gis-map/utils/holo-flow/index.mjs +30 -19
  7. package/es/src/gis-map/utils/holo-flow/signal-holo-flow.d.ts +8 -0
  8. package/es/src/gis-map/utils/holo-flow/signal-holo-flow.mjs +56 -48
  9. package/es/src/gis-map/utils/holo-flow/trace-external-renderer.d.ts +2 -0
  10. package/es/src/gis-map/utils/holo-flow/trace-external-renderer.mjs +11 -7
  11. package/es/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +2 -0
  12. package/es/src/gis-map/utils/holo-flow/trace-holo-flow.mjs +49 -41
  13. package/es/src/gis-map/utils/holo-flow/trace-layer-renderer.d.ts +12 -0
  14. package/es/src/gis-map/utils/holo-flow/trace-layer-renderer.mjs +31 -17
  15. package/es/src/gis-map/utils/map-initializer.d.ts +2 -1
  16. package/es/src/gis-map/utils/map-initializer.mjs +135 -107
  17. package/es/src/gis-map/utils/renderer/greenWaveline.d.ts +2 -2
  18. package/es/src/gis-map/utils/traffic-flow.d.ts +14 -3
  19. package/es/src/gis-map/utils/traffic-flow.mjs +156 -130
  20. package/es/src/types/index.d.ts +14 -3
  21. package/lib/src/gis-map/gis-map.vue.d.ts +4 -5
  22. package/lib/src/gis-map/gis-map.vue.js +1 -1
  23. package/lib/src/gis-map/index.d.ts +3 -4
  24. package/lib/src/gis-map/utils/GreenWaveline.js +1 -1
  25. package/lib/src/gis-map/utils/holo-flow/index.d.ts +2 -0
  26. package/lib/src/gis-map/utils/holo-flow/index.js +1 -1
  27. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.d.ts +8 -0
  28. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.js +1 -1
  29. package/lib/src/gis-map/utils/holo-flow/trace-external-renderer.d.ts +2 -0
  30. package/lib/src/gis-map/utils/holo-flow/trace-external-renderer.js +1 -1
  31. package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +2 -0
  32. package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.js +1 -1
  33. package/lib/src/gis-map/utils/holo-flow/trace-layer-renderer.d.ts +12 -0
  34. package/lib/src/gis-map/utils/holo-flow/trace-layer-renderer.js +1 -1
  35. package/lib/src/gis-map/utils/map-initializer.d.ts +2 -1
  36. package/lib/src/gis-map/utils/map-initializer.js +1 -1
  37. package/lib/src/gis-map/utils/renderer/greenWaveline.d.ts +2 -2
  38. package/lib/src/gis-map/utils/traffic-flow.d.ts +14 -3
  39. package/lib/src/gis-map/utils/traffic-flow.js +1 -1
  40. package/lib/src/types/index.d.ts +14 -3
  41. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import View from '@arcgis/core/views/View';
2
+ import { IToggleTrafficInfoParams } from '../../types';
2
3
  export default class TrafficFlow {
3
4
  private view;
4
5
  private mapConfig;
@@ -10,6 +11,10 @@ export default class TrafficFlow {
10
11
  private objectMissCount;
11
12
  /** 是否显示车牌号码 */
12
13
  private showVehiclePlate;
14
+ /** 是否显示地面车辆 */
15
+ private showGroundVehicle;
16
+ /** 是否显示高架车辆 */
17
+ private showElevatedVehicle;
13
18
  private showLog;
14
19
  constructor(view: View);
15
20
  /**
@@ -23,10 +28,15 @@ export default class TrafficFlow {
23
28
  */
24
29
  disconnectTrafficFlow(): void;
25
30
  /**
26
- * 控制车辆号牌是否显示
27
- * @param visible
31
+ * 切换交通信息可见性
32
+ * @param params
28
33
  */
29
- toggleVehiclePlate(visible: boolean): void;
34
+ toggleTrafficInfo(params: IToggleTrafficInfoParams): void;
35
+ /**
36
+ * 切换交通对象可见性
37
+ * @param params
38
+ */
39
+ toggleTrafficObject(params: IToggleTrafficInfoParams): void;
30
40
  private focusVehNo;
31
41
  private handleTrafficFlowData;
32
42
  /**
@@ -34,6 +44,7 @@ export default class TrafficFlow {
34
44
  * @param objects
35
45
  */
36
46
  private addTrafficObjects;
47
+ private getVehicleVisibility;
37
48
  /**
38
49
  * 更新交通对象
39
50
  * @param objects
@@ -1,93 +1,115 @@
1
- import m from "@arcgis/core/Graphic";
1
+ import u from "@arcgis/core/Graphic";
2
2
  import { Point as p } from "@arcgis/core/geometry";
3
- import f from "@arcgis/core/layers/GraphicsLayer";
4
- import u from "../stores/index.mjs";
5
- import y from "./common-utils.mjs";
6
- class x {
7
- constructor(o) {
8
- this.maxMissCount = 2, this.objectMissCount = /* @__PURE__ */ new Map(), this.showVehiclePlate = !0, this.showLog = !1, this.focusVehNo = "", this.view = o;
9
- const e = u.useAppDataStore;
10
- this.mapConfig = JSON.parse(JSON.stringify(e.mapConfig)), this.objectsLayer = new f(), this.view.map.add(this.objectsLayer);
3
+ import y from "@arcgis/core/layers/GraphicsLayer";
4
+ import d from "../stores/index.mjs";
5
+ import m from "./common-utils.mjs";
6
+ class S {
7
+ constructor(i) {
8
+ this.maxMissCount = 2, this.objectMissCount = /* @__PURE__ */ new Map(), this.showVehiclePlate = !0, this.showGroundVehicle = !0, this.showElevatedVehicle = !0, this.showLog = !1, this.focusVehNo = "", this.view = i;
9
+ const t = d.useAppDataStore;
10
+ this.mapConfig = JSON.parse(JSON.stringify(t.mapConfig)), this.objectsLayer = new y(), this.view.map.add(this.objectsLayer);
11
11
  }
12
12
  /**
13
13
  * 开始显示交通流数据
14
14
  * @param url
15
15
  * @param options
16
16
  */
17
- connectTrafficFlow(o, e) {
18
- var t;
19
- this.showVehiclePlate = (e == null ? void 0 : e.showVehiclePlate) !== !1, this.showLog = (e == null ? void 0 : e.showTraceLog) === !0, (t = this.webSocket) == null || t.close(), this.webSocket = new WebSocket(o), this.webSocket.onopen = () => {
17
+ connectTrafficFlow(i, t) {
18
+ var e;
19
+ this.showVehiclePlate = (t == null ? void 0 : t.showVehiclePlate) !== !1, this.showLog = (t == null ? void 0 : t.showTraceLog) === !0, (e = this.webSocket) == null || e.close(), this.webSocket = new WebSocket(i), this.webSocket.onopen = () => {
20
20
  console.log("websocket连接成功"), this.objectMissCount.clear();
21
21
  }, this.webSocket.onclose = () => {
22
22
  console.log("websocket连接关闭");
23
- }, this.webSocket.onmessage = (a) => {
24
- this.handleTrafficFlowData(a.data);
23
+ }, this.webSocket.onmessage = (o) => {
24
+ this.handleTrafficFlowData(o.data);
25
25
  };
26
26
  }
27
27
  /**
28
28
  * 停止显示交通流数据
29
29
  */
30
30
  disconnectTrafficFlow() {
31
- var o;
32
- (o = this.webSocket) == null || o.close(), this.objectsLayer.removeAll(), this.objectMissCount.clear();
31
+ var i;
32
+ (i = this.webSocket) == null || i.close(), this.objectsLayer.removeAll(), this.objectMissCount.clear();
33
33
  }
34
34
  /**
35
- * 控制车辆号牌是否显示
36
- * @param visible
35
+ * 切换交通信息可见性
36
+ * @param params
37
37
  */
38
- toggleVehiclePlate(o) {
39
- this.showVehiclePlate = o;
38
+ toggleTrafficInfo(i) {
39
+ switch (i.name.toLowerCase()) {
40
+ case "vehiclePlate".toLowerCase():
41
+ this.showVehiclePlate = i.visible;
42
+ break;
43
+ }
44
+ }
45
+ /**
46
+ * 切换交通对象可见性
47
+ * @param params
48
+ */
49
+ toggleTrafficObject(i) {
50
+ switch (i.name.toLowerCase()) {
51
+ case "groundVehicle".toLowerCase():
52
+ this.showGroundVehicle = i.visible;
53
+ break;
54
+ case "elevatedVehicle".toLowerCase():
55
+ this.showElevatedVehicle = i.visible;
56
+ break;
57
+ }
40
58
  }
41
- handleTrafficFlowData(o) {
42
- const e = y.unzip(o);
43
- if (!e)
59
+ handleTrafficFlowData(i) {
60
+ const t = m.unzip(i);
61
+ if (!t)
44
62
  return;
45
- const t = [], a = [], n = [], l = JSON.parse(e);
46
- this.showLog && console.log(l);
47
- const s = l.data || l.rtPositionList;
63
+ const e = [], o = [], n = [], c = JSON.parse(t);
64
+ this.showLog && console.log(c);
65
+ const s = c.data || c.rtPositionList;
48
66
  if (!s || s.length === 0)
49
67
  return;
50
- const h = new Date(l.jgsj).getTime();
51
- for (const r of s) {
52
- const i = this.buildVehicleTrackData(r, h);
53
- i && (this.objectMissCount.has(i.ptcId) ? t.push(i) : a.push(i), this.objectMissCount.set(i.ptcId, 0));
68
+ const b = new Date(c.jgsj).getTime();
69
+ for (const a of s) {
70
+ const r = this.buildVehicleTrackData(a, b);
71
+ r && (this.objectMissCount.has(r.ptcId) ? e.push(r) : o.push(r), this.objectMissCount.set(r.ptcId, 0));
54
72
  }
55
- for (const r of this.objectMissCount) {
56
- const i = r[0];
57
- let c = r[1];
58
- s.findIndex((b) => b.vehno === i) < 0 && (c++, this.objectMissCount.set(i, c), c === this.maxMissCount && n.push(i));
73
+ for (const a of this.objectMissCount) {
74
+ const r = a[0];
75
+ let l = a[1];
76
+ s.findIndex((f) => f.vehno === r) < 0 && (l++, this.objectMissCount.set(r, l), l === this.maxMissCount && n.push(r));
59
77
  }
60
- for (const r of n)
61
- this.objectMissCount.delete(r);
62
- this.addTrafficObjects(a), this.updateTrafficObjects(t), this.deleteTrafficObjects(n);
78
+ for (const a of n)
79
+ this.objectMissCount.delete(a);
80
+ this.addTrafficObjects(o), this.updateTrafficObjects(e), this.deleteTrafficObjects(n);
63
81
  }
64
82
  /**
65
83
  * 新增交通对象
66
84
  * @param objects
67
85
  */
68
- addTrafficObjects(o) {
69
- const e = o.map(
70
- (t) => new m({
71
- geometry: new p({ longitude: t.x, latitude: t.y }),
72
- symbol: this.createCIMSymbol(t),
73
- attributes: t
86
+ addTrafficObjects(i) {
87
+ const t = i.map(
88
+ (e) => new u({
89
+ geometry: new p({ longitude: e.x, latitude: e.y }),
90
+ symbol: this.createCIMSymbol(e),
91
+ attributes: e,
92
+ visible: this.getVehicleVisibility(e)
74
93
  })
75
94
  );
76
- this.objectsLayer.addMany(e);
95
+ this.objectsLayer.addMany(t);
96
+ }
97
+ getVehicleVisibility(i) {
98
+ return i.roadLayer === "1" ? this.showGroundVehicle : i.roadLayer === "2" || i.roadLayer === "3" ? this.showElevatedVehicle : !0;
77
99
  }
78
100
  /**
79
101
  * 更新交通对象
80
102
  * @param objects
81
103
  */
82
- updateTrafficObjects(o) {
83
- o.forEach((e) => {
84
- const t = this.objectsLayer.graphics.find(
85
- (a) => a.getAttribute("ptcId") === e.ptcId
104
+ updateTrafficObjects(i) {
105
+ i.forEach((t) => {
106
+ const e = this.objectsLayer.graphics.find(
107
+ (o) => o.getAttribute("ptcId") === t.ptcId
86
108
  );
87
- t && (t.geometry = new p({
88
- longitude: e.x,
89
- latitude: e.y
90
- }), t.symbol = this.createCIMSymbol(e));
109
+ e && (e.geometry = new p({
110
+ longitude: t.x,
111
+ latitude: t.y
112
+ }), e.symbol = this.createCIMSymbol(t), e.visible = this.getVehicleVisibility(t));
91
113
  });
92
114
  }
93
115
  /**
@@ -95,8 +117,8 @@ class x {
95
117
  * @param vehTrack
96
118
  * @returns
97
119
  */
98
- createCIMSymbol(o) {
99
- const e = this.getPlateFontColor(o.plateColor);
120
+ createCIMSymbol(i) {
121
+ const t = this.getPlateFontColor(i.plateColor);
100
122
  return {
101
123
  type: "cim",
102
124
  data: {
@@ -144,7 +166,7 @@ class x {
144
166
  {
145
167
  type: "CIMSolidFill",
146
168
  enable: !0,
147
- color: e.backgroundColor
169
+ color: t.backgroundColor
148
170
  }
149
171
  ]
150
172
  },
@@ -154,7 +176,7 @@ class x {
154
176
  {
155
177
  type: "CIMSolidFill",
156
178
  enable: !0,
157
- color: e.fillColor
179
+ color: t.fillColor
158
180
  }
159
181
  ]
160
182
  },
@@ -175,11 +197,11 @@ class x {
175
197
  y: 0
176
198
  },
177
199
  anchorPointUnits: "Relative",
178
- size: 30,
179
- rotation: o.heading,
200
+ size: 15,
201
+ rotation: i.heading,
180
202
  rotateClockwise: !0,
181
203
  textureFilter: "Picture",
182
- url: `${this.mapConfig.assetsRoot}Images/car/${this.getCarPic(o.vehicleColor).pic}`
204
+ url: `${this.mapConfig.assetsRoot}Images/car/${this.getCarPic(i.vehicleColor).pic}`
183
205
  }
184
206
  ]
185
207
  }
@@ -190,35 +212,36 @@ class x {
190
212
  * 删除交通对象
191
213
  * @param ids
192
214
  */
193
- deleteTrafficObjects(o) {
194
- o.forEach((e) => {
195
- const t = this.objectsLayer.graphics.find(
196
- (a) => a.getAttribute("ptcId") === e
215
+ deleteTrafficObjects(i) {
216
+ i.forEach((t) => {
217
+ const e = this.objectsLayer.graphics.find(
218
+ (o) => o.getAttribute("ptcId") === t
197
219
  );
198
- t && this.objectsLayer.remove(t);
220
+ e && this.objectsLayer.remove(e);
199
221
  });
200
222
  }
201
- buildVehicleTrackData(o, e) {
202
- const { hpys: t, csys: a, lng: n, angle: l, hphm: s, lat: h, cx: r } = o, i = o.vehno || o.vehNo;
203
- if (!i)
223
+ buildVehicleTrackData(i, t) {
224
+ const { hpys: e, csys: o, lng: n, angle: c, hphm: s, lat: b, cx: a, roadLayer: r } = i, l = i.vehno || i.vehNo;
225
+ if (!l)
204
226
  return;
205
- let c;
206
- if (s && s !== "0" && s !== 0 ? c = s.includes("-") ? s.split("-")[1] : s : c = i.includes("-") ? i.split("-")[1] : i, !["1", "2", "3", "4", "5", "6", 1, 2, 3, 4, 5, 6].includes(r)) {
207
- console.log("车辆类型错误", r);
227
+ let h;
228
+ if (s && s !== "0" && s !== 0 ? h = s.includes("-") ? s.split("-")[1] : s : h = l.includes("-") ? l.split("-")[1] : l, !["1", "2", "3", "4", "5", "6", 1, 2, 3, 4, 5, 6].includes(a)) {
229
+ console.log("车辆类型错误", a);
208
230
  return;
209
231
  }
210
232
  return {
211
- ptcId: i,
212
- timestamp: e,
213
- localTimestamp: e,
233
+ ptcId: l,
234
+ timestamp: t,
235
+ localTimestamp: t,
214
236
  x: n,
215
- y: h,
216
- ptcType: Number(r),
217
- heading: l,
218
- vehicleColor: a || "z",
219
- plateColor: s ? t : "99",
220
- showName: c,
221
- vehicleType: 99
237
+ y: b,
238
+ ptcType: Number(a),
239
+ heading: c,
240
+ vehicleColor: o || "z",
241
+ plateColor: s ? e : "99",
242
+ showName: h,
243
+ vehicleType: 99,
244
+ roadLayer: r || "1"
222
245
  };
223
246
  }
224
247
  /**
@@ -226,83 +249,86 @@ class x {
226
249
  * @param carColor
227
250
  * @returns
228
251
  */
229
- getCarPic(o) {
230
- if (this.view.zoom <= 15)
252
+ getCarPic(i) {
253
+ let t = 0;
254
+ if (this.view.type === "3d" ? t = this.view.zoom : t = this.view.zoom, t <= 17)
231
255
  return {
232
256
  pic: "point.png",
233
257
  color: [128, 128, 128, 255]
234
258
  };
235
- let e = "grey", t = [128, 128, 128, 255];
236
- switch (o.toLowerCase()) {
237
- case "a":
238
- e = "white", t = [200, 200, 200, 255];
239
- break;
240
- case "b":
241
- e = "grey", t = [128, 128, 128, 255];
242
- break;
243
- case "c":
244
- e = "yellow", t = [255, 215, 0, 255];
245
- break;
246
- case "d":
247
- e = "pink", t = [255, 182, 193, 255];
248
- break;
249
- case "e":
250
- e = "red", t = [255, 0, 0, 255];
251
- break;
252
- case "f":
253
- e = "purple", t = [128, 0, 128, 255];
254
- break;
255
- case "g":
256
- e = "green", t = [124, 252, 0, 255];
257
- break;
258
- case "h":
259
- e = "blue", t = [0, 191, 255, 255];
260
- break;
261
- case "i":
262
- e = "brown", t = [244, 164, 96, 255];
263
- break;
264
- case "j":
265
- e = "black", t = [0, 0, 0, 255];
266
- break;
259
+ {
260
+ let e = "grey", o = [128, 128, 128, 255];
261
+ switch (i.toLowerCase()) {
262
+ case "a":
263
+ e = "white", o = [200, 200, 200, 255];
264
+ break;
265
+ case "b":
266
+ e = "grey", o = [128, 128, 128, 255];
267
+ break;
268
+ case "c":
269
+ e = "yellow", o = [255, 215, 0, 255];
270
+ break;
271
+ case "d":
272
+ e = "pink", o = [255, 182, 193, 255];
273
+ break;
274
+ case "e":
275
+ e = "red", o = [255, 0, 0, 255];
276
+ break;
277
+ case "f":
278
+ e = "purple", o = [128, 0, 128, 255];
279
+ break;
280
+ case "g":
281
+ e = "green", o = [124, 252, 0, 255];
282
+ break;
283
+ case "h":
284
+ e = "blue", o = [0, 191, 255, 255];
285
+ break;
286
+ case "i":
287
+ e = "brown", o = [244, 164, 96, 255];
288
+ break;
289
+ case "j":
290
+ e = "black", o = [0, 0, 0, 255];
291
+ break;
292
+ }
293
+ return {
294
+ pic: e + ".png",
295
+ color: o
296
+ };
267
297
  }
268
- return {
269
- pic: e + ".png",
270
- color: t
271
- };
272
298
  }
273
299
  /**
274
300
  * 根据号牌颜色属性获取填充色和背景色
275
301
  * @param plateColor
276
302
  * @returns
277
303
  */
278
- getPlateFontColor(o) {
279
- let e = [255, 255, 255, 255], t = [169, 169, 169, 255];
280
- switch (o) {
304
+ getPlateFontColor(i) {
305
+ let t = [255, 255, 255, 255], e = [169, 169, 169, 255];
306
+ switch (i) {
281
307
  case 0:
282
- e = [0, 0, 0, 255], t = [255, 255, 255, 255];
308
+ t = [0, 0, 0, 255], e = [255, 255, 255, 255];
283
309
  break;
284
310
  case 1:
285
- e = [0, 0, 0, 255], t = [244, 164, 96, 255];
311
+ t = [0, 0, 0, 255], e = [244, 164, 96, 255];
286
312
  break;
287
313
  case 2:
288
- e = [255, 255, 255, 255], t = [65, 105, 225, 255];
314
+ t = [255, 255, 255, 255], e = [65, 105, 225, 255];
289
315
  break;
290
316
  case 3:
291
- e = [255, 255, 255, 255], t = [0, 0, 0, 255];
317
+ t = [255, 255, 255, 255], e = [0, 0, 0, 255];
292
318
  break;
293
319
  case 15:
294
- e = [244, 164, 96, 255], t = [0, 250, 154, 255];
320
+ t = [244, 164, 96, 255], e = [0, 250, 154, 255];
295
321
  break;
296
322
  case 16:
297
- e = [0, 0, 0, 255], t = [0, 250, 154, 255];
323
+ t = [0, 0, 0, 255], e = [0, 250, 154, 255];
298
324
  break;
299
325
  }
300
326
  return {
301
- fillColor: e,
302
- backgroundColor: t
327
+ fillColor: t,
328
+ backgroundColor: e
303
329
  };
304
330
  }
305
331
  }
306
332
  export {
307
- x as default
333
+ S as default
308
334
  };
@@ -34,6 +34,7 @@ export interface IVehicleTrack {
34
34
  fixAngle?: number;
35
35
  speed?: number;
36
36
  plateNo?: string;
37
+ roadLayer?: string;
37
38
  }
38
39
  export interface ILaneNumberParams {
39
40
  lanes: {
@@ -44,11 +45,15 @@ export interface ILaneNumberParams {
44
45
  }[];
45
46
  }
46
47
  export interface ISetMapCenterParams {
47
- center: number[];
48
- camera?: {};
48
+ center?: number[];
49
+ target?: __esri.GoToTarget2D;
49
50
  zoom?: number;
50
51
  duration?: number;
51
52
  }
53
+ export interface ILayerVisibleParams {
54
+ id: string;
55
+ visible: boolean;
56
+ }
52
57
  export interface ILookAtParams {
53
58
  center: number[];
54
59
  height: number;
@@ -120,7 +125,7 @@ export interface IOverlayParam {
120
125
  visible?: boolean;
121
126
  }
122
127
  export interface ISetMapCameraParams {
123
- crossId: string;
128
+ name: string;
124
129
  zoom?: number;
125
130
  duration?: number;
126
131
  }
@@ -129,12 +134,18 @@ export interface IQueueLengthParams {
129
134
  laneId: number;
130
135
  queueLength: number;
131
136
  }
137
+ export interface IToggleTrafficInfoParams {
138
+ name: string;
139
+ visible: boolean;
140
+ }
132
141
  export interface ITraceRendererInterface {
133
142
  addVehicles(objects: IVehicleTrack[]): void;
134
143
  updateVehicles(objects: IVehicleTrack[]): void;
135
144
  deleteVehicles(idList: string[]): void;
136
145
  clearVehicles(): void;
137
146
  updatePanelContent(contentType: EVehiclePlateState): void;
147
+ toggleGroundVehicle(visible: boolean): void;
148
+ toggleElevatedVehicle(visible: boolean): void;
138
149
  }
139
150
  export declare enum EVehiclePlateState {
140
151
  None = 0,
@@ -1,6 +1,6 @@
1
1
  import MapView from '@arcgis/core/views/MapView';
2
2
  import SceneView from '@arcgis/core/views/SceneView';
3
- import { ILaneNumberParams, ILookAtParams, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IStartCrossBufferParam } from '../types';
3
+ import { ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IStartCrossBufferParam, IToggleTrafficInfoParams } from '../types';
4
4
  import HoloFlow from './utils/holo-flow';
5
5
  import MapInitializer from './utils/map-initializer';
6
6
  import OpenDriveRenderer from './utils/open-drive-renderer';
@@ -31,6 +31,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
31
31
  setMapCenter: (params: ISetMapCenterParams) => Promise<import("../types").IResult>;
32
32
  setMapCamera: (params: ISetMapCameraParams) => Promise<import("../types").IResult>;
33
33
  lookAt: (params: ILookAtParams) => Promise<void>;
34
+ setLayerVisibility: (params: ILayerVisibleParams) => import("../types").IResult;
34
35
  requestCoordinateTransform: (points: number[][], callback: (points: number[][]) => void) => {
35
36
  handle: number;
36
37
  points: number[][];
@@ -51,10 +52,8 @@ declare const _sfc_main: import("vue").DefineComponent<{
51
52
  clearHoloTrace: () => void;
52
53
  handleHoloSignalData: (signalData: any) => Promise<void>;
53
54
  clearHoloSignal: () => void;
54
- toggleTrafficInfo: (params: {
55
- name: string;
56
- visible: boolean;
57
- }) => void;
55
+ toggleTrafficInfo: (params: IToggleTrafficInfoParams) => void;
56
+ toggleTrafficObject: (params: IToggleTrafficInfoParams) => void;
58
57
  toggleVehicleInfo: (contentType: string) => void;
59
58
  addOverlays: (params: IOverlayParam) => Promise<import("../types").IResult>;
60
59
  removeOverlaysByType: (types: string[]) => import("../types").IResult;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),y=require("./stores/index.js");require("./style/index.css");const v=require("./utils/holo-flow/index.js"),te=require("./utils/map-initializer.js"),ae=require("./utils/open-drive-renderer/index.js"),ne=require("./utils/overlay.js"),re=require("./utils/queue-length.js"),h=require("./utils/road-config-tool/index.js"),se=require("./utils/traffic-flow.js"),oe={class:"gis-viewer"},ce=i.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick"],setup(k,{expose:O,emit:q}){const d=i.ref(null);let r,o,n,s,t,a,l,u;y.registerStore(),i.onMounted(async()=>{if(!d.value)return;const e=i.getCurrentInstance(),{$gisviewerAssetsRoot:c}=e.appContext.config.globalProperties,C=await(await fetch(g.config)).json();C.assetsRoot=g.assetsRoot||c;const $=y.default.useAppDataStore;$.mapConfig=C,o=new te.default,r=await o.initialize({container:d.value,markerClickCallback:(p,f,w,ee)=>{m("markerClick",p,f,w,ee)},mapClickCallback:(p,f,w)=>{m("mapClick",p,f,w)}}),t=new v.default(r),m("mapLoaded")});const A=i.computed(()=>r),L=async e=>await o.setMapCenter(e),T=async e=>await o.setMapCamera(e),b=async e=>await o.lookAt(e),_=(e,c)=>o.requestCoordinateTransform(e,c),I=e=>{o.cancelCoordinateTransform(e)},S=e=>{o.setMapZoomRange(e)},D=e=>(n||(n=new h.default(r)),n.showLaneNumber(e)),M=()=>{n==null||n.clearLaneNumber()},x=async e=>(n||(n=new h.default(r)),await n.initializeSearch(e)),B=async()=>n==null?void 0:n.calCrossIndicatorArea(),H=async()=>{},R=async(e,c)=>{s||(s=new se.default(r)),s.connectTrafficFlow(e,c)},V=()=>{s==null||s.disconnectTrafficFlow()},z=e=>{t||(t=new v.default(r)),t.handleVehicleTraceData(e)},N=()=>{t==null||t.clearHoloTrace()},P=async e=>{t||(t=new v.default(r)),await t.handleSignalData(e)},Q=()=>{t==null||t.clearHoloSignal()},j=e=>{switch(e.name.toLowerCase()){case"vehiclePlate".toLowerCase():s==null||s.toggleVehiclePlate(e.visible);break}},E=e=>{t==null||t.updatePanelContent(e)},Z=async e=>(a||(a=new ne.default(r)),await a.addOverlays(e)),G=e=>a==null?void 0:a.removeOverlaysByType(e),J=e=>a==null?void 0:a.removeOverlaysById(e),K=()=>a==null?void 0:a.removeAllOverlays(),U=()=>{a==null||a.showAllOverlays()},W=e=>{l||(l=new re.default(r)),l.updateQueueLength(e)},X=()=>{l==null||l.removeQueueLength()},Y=async(e,c)=>{u||(u=new ae.default(r)),await u.showOpenDrive(e,c)},F=async()=>{await(u==null?void 0:u.hideOpenDrive())},g=k,m=q;return O({mapViewer:A,setMapCenter:L,lookAt:b,setMapCamera:T,setMapZoomRange:S,requestCoordinateTransform:_,cancelCoordinateTransform:I,addOverlays:Z,showAllOverlays:U,removeOverlaysByType:G,removeOverlaysById:J,removeAllOverlays:K,showLaneNumber:D,clearLaneNumber:M,initializeAreaTool:x,calCrossIndicatorArea:B,calRoadIndicatorArea:H,connectCarFlow:R,disconnectCarFlow:V,handleHoloVehicleTraceData:z,clearHoloTrace:N,handleHoloSignalData:P,clearHoloSignal:Q,toggleTrafficInfo:j,toggleVehicleInfo:E,updateQueueLength:W,removeQueueLength:X,showOpenDrive:Y,hideOpenDrive:F}),(e,c)=>(i.openBlock(),i.createElementBlock("div",oe,[i.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:d},null,512)]))}});exports.default=ce;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),w=require("./stores/index.js");require("./style/index.css");const y=require("./utils/holo-flow/index.js"),ne=require("./utils/map-initializer.js"),re=require("./utils/open-drive-renderer/index.js"),se=require("./utils/overlay.js"),ce=require("./utils/queue-length.js"),O=require("./utils/road-config-tool/index.js"),oe=require("./utils/traffic-flow.js"),ie={class:"gis-viewer"},le=i.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick"],setup(h,{expose:k,emit:T}){const d=i.ref(null);let s,c,n,r,t,a,l,u;w.registerStore(),i.onMounted(async()=>{if(!d.value)return;const e=i.getCurrentInstance(),{$gisviewerAssetsRoot:o}=e.appContext.config.globalProperties,C=await(await fetch(v.config)).json();C.assetsRoot=v.assetsRoot||o;const te=w.default.useAppDataStore;te.mapConfig=C,c=new ne.default,s=await c.initialize({container:d.value,markerClickCallback:(p,f,g,ae)=>{m("markerClick",p,f,g,ae)},mapClickCallback:(p,f,g)=>{m("mapClick",p,f,g)}}),t=new y.default(s),m("mapLoaded")});const b=i.computed(()=>s),q=async e=>await c.setMapCenter(e),A=async e=>await c.setMapCamera(e),L=async e=>await c.lookAt(e),I=e=>c.setLayerVisibility(e),_=(e,o)=>c.requestCoordinateTransform(e,o),S=e=>{c.cancelCoordinateTransform(e)},D=e=>{c.setMapZoomRange(e)},M=e=>(n||(n=new O.default(s)),n.showLaneNumber(e)),x=()=>{n==null||n.clearLaneNumber()},V=async e=>(n||(n=new O.default(s)),await n.initializeSearch(e)),B=async()=>n==null?void 0:n.calCrossIndicatorArea(),H=async()=>{},R=async(e,o)=>{r||(r=new oe.default(s)),r.connectTrafficFlow(e,o)},j=()=>{r==null||r.disconnectTrafficFlow()},z=e=>{t||(t=new y.default(s)),t.handleVehicleTraceData(e)},N=()=>{t==null||t.clearHoloTrace()},Q=async e=>{t||(t=new y.default(s)),await t.handleSignalData(e)},P=()=>{t==null||t.clearHoloSignal()},E=e=>{r==null||r.toggleTrafficInfo(e)},Z=e=>{t==null||t.toggleTrafficObject(e),r==null||r.toggleTrafficObject(e)},G=e=>{t==null||t.updatePanelContent(e)},J=async e=>(a||(a=new se.default(s)),a.addOverlays(e)),K=e=>a==null?void 0:a.removeOverlaysByType(e),U=e=>a==null?void 0:a.removeOverlaysById(e),W=()=>a==null?void 0:a.removeAllOverlays(),X=()=>{a==null||a.showAllOverlays()},Y=e=>{l||(l=new ce.default(s)),l.updateQueueLength(e)},F=()=>{l==null||l.removeQueueLength()},$=async(e,o)=>{u||(u=new re.default(s)),await u.showOpenDrive(e,o)},ee=async()=>{await(u==null?void 0:u.hideOpenDrive())},v=h,m=T;return k({mapViewer:b,setLayerVisibility:I,setMapCenter:q,lookAt:L,setMapCamera:A,setMapZoomRange:D,requestCoordinateTransform:_,cancelCoordinateTransform:S,addOverlays:J,showAllOverlays:X,removeOverlaysByType:K,removeOverlaysById:U,removeAllOverlays:W,showLaneNumber:M,clearLaneNumber:x,initializeAreaTool:V,calCrossIndicatorArea:B,calRoadIndicatorArea:H,connectCarFlow:R,disconnectCarFlow:j,handleHoloVehicleTraceData:z,clearHoloTrace:N,handleHoloSignalData:Q,clearHoloSignal:P,toggleTrafficInfo:E,toggleTrafficObject:Z,toggleVehicleInfo:G,updateQueueLength:Y,removeQueueLength:F,showOpenDrive:$,hideOpenDrive:ee}),(e,o)=>(i.openBlock(),i.createElementBlock("div",ie,[i.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:d},null,512)]))}});exports.default=le;
@@ -21,6 +21,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
21
21
  setMapCenter: (params: import("../types").ISetMapCenterParams) => Promise<import("../types").IResult>;
22
22
  setMapCamera: (params: import("../types").ISetMapCameraParams) => Promise<import("../types").IResult>;
23
23
  lookAt: (params: import("../types").ILookAtParams) => Promise<void>;
24
+ setLayerVisibility: (params: import("../types").ILayerVisibleParams) => import("../types").IResult;
24
25
  requestCoordinateTransform: (points: number[][], callback: (points: number[][]) => void) => {
25
26
  handle: number;
26
27
  points: number[][];
@@ -41,10 +42,8 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
41
42
  clearHoloTrace: () => void;
42
43
  handleHoloSignalData: (signalData: any) => Promise<void>;
43
44
  clearHoloSignal: () => void;
44
- toggleTrafficInfo: (params: {
45
- name: string;
46
- visible: boolean;
47
- }) => void;
45
+ toggleTrafficInfo: (params: import("../types").IToggleTrafficInfoParams) => void;
46
+ toggleTrafficObject: (params: import("../types").IToggleTrafficInfoParams) => void;
48
47
  toggleVehicleInfo: (contentType: string) => void;
49
48
  addOverlays: (params: import("../types").IOverlayParam) => Promise<import("../types").IResult>;
50
49
  removeOverlaysByType: (types: string[]) => import("../types").IResult;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("@arcgis/core/Graphic"),y=require("@arcgis/core/geometry"),u=require("@arcgis/core/geometry/Polyline"),p=require("@arcgis/core/geometry/support/webMercatorUtils.js"),b=require("@arcgis/core/layers/GraphicsLayer"),g=require("./renderer/greenWaveline.js");function f(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(i,t,e.get?e:{enumerable:!0,get:()=>o[t]})}}return i.default=o,Object.freeze(i)}const l=f(p);function v(...o){const i={},t=e=>{for(const r in e)e.hasOwnProperty(r)&&(Object.prototype.toString.call(e[r])==="[object Object]"?i[r]=v(i[r],e[r]):i[r]=e[r])};for(let e=0;e<o.length;e++)t(o[e]);return i}class m{constructor(i){this.defaultAnimationOptions={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]},this.viewer=i.viewer,this.overlayLayer=new b({...i.graphicsLayerOptions}),this.customGreenWaveLineView=new g.default({graphics:[]}),this.viewer.map.layers.add(this.overlayLayer),this.viewer.map.layers.add(this.customGreenWaveLineView)}addGreenWaveLine(i,t={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]}){const e=[],r=[];t=v(this.defaultAnimationOptions,t),i.map(a=>{const s=a.visible==null?!0:a.visible;if(t.isAnimation){const n=[...a.paths];r.push(...this.getAnimationPath(n,t))}e.push(this.createLine(a.paths,a.symbol,a.attributes,s))}),this.overlayLayer.addMany(e),t.isAnimation&&this.customGreenWaveLineView.addMany(r)}getAnimationPath(i,t={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]}){const e=[];return t.positive&&e.push({attributes:{color:t.positiveColor},geometry:l.geographicToWebMercator({paths:[i],type:"polyline"})}),t.negative&&e.push({attributes:{color:t.negativeColor},geometry:l.geographicToWebMercator({paths:[i.reverse()],type:"polyline"})}),e}createLine(i,t,e={},r){const a={type:"simple-line",color:[8,69,9,.8],width:10,...t},s=new u({paths:i}),n=l.geographicToWebMercator(s);return new c({geometry:n,symbol:a,attributes:{type:"greenWaveLine",...e},visible:r})}addPointText(i){const t=[];i.map(e=>{const r=e.visible==null?!0:e.visible;t.push(this.createPointText(e.point,e.symbol,e.attributes,r))}),this.overlayLayer.addMany(t)}createPointText(i,t,e={},r){const a={type:"text",color:"white",haloColor:"black",haloSize:"1px",xoffset:3,yoffset:3,font:{size:12,family:"Josefin Slab",weight:"bold"},...t},s=new y.Point({x:i[0],y:i[1]}),n=l.geographicToWebMercator(s);return new c({geometry:n,symbol:a,attributes:{type:"greenWaveLine-Text",...e},visible:r})}hideWaveLine(i){i?this.overlayLayer.graphics.filter(e=>{const r=e.getAttribute("id");return i.includes(r)}).forEach(e=>{e.visible=!1}):this.overlayLayer.graphics.map(t=>{t.visible=!1})}showWaveLine(i){i?this.overlayLayer.graphics.filter(e=>{const r=e.getAttribute("id");return i.includes(r)}).forEach(e=>{e.visible=!0}):this.overlayLayer.graphics.map(t=>{t.visible=!0})}hideLayer(){this.overlayLayer.visible=!1,this.customGreenWaveLineView.visible=!1}showLayer(){this.overlayLayer.visible=!0,this.customGreenWaveLineView.visible=!0}clearGreenWaveLine(){this.overlayLayer.removeAll(),this.customGreenWaveLineView.removeAll()}destroy(){this.overlayLayer.removeAll(),this.customGreenWaveLineView.removeAll(),this.viewer.map.layers.remove(this.customGreenWaveLineView),this.viewer.map.layers.remove(this.overlayLayer)}}exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("@arcgis/core/Graphic"),y=require("@arcgis/core/geometry"),u=require("@arcgis/core/geometry/Polyline"),p=require("@arcgis/core/geometry/support/webMercatorUtils.js"),b=require("@arcgis/core/layers/GraphicsLayer"),g=require("./renderer/greenWaveline.js");function f(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(i,t,e.get?e:{enumerable:!0,get:()=>o[t]})}}return i.default=o,Object.freeze(i)}const l=f(p);function v(...o){const i={},t=e=>{for(const r in e)e.hasOwnProperty(r)&&(Object.prototype.toString.call(e[r])==="[object Object]"?i[r]=v(i[r],e[r]):i[r]=e[r])};for(let e=0;e<o.length;e++)t(o[e]);return i}class m{constructor(i){this.defaultAnimationOptions={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]},this.viewer=i.viewer,this.overlayLayer=new b({...i.graphicsLayerOptions}),this.customGreenWaveLineView=new g.default({graphics:[]}),this.viewer.map.layers.add(this.overlayLayer),this.viewer.map.layers.add(this.customGreenWaveLineView)}addGreenWaveLine(i,t={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]}){const e=[],r=[];t=v(this.defaultAnimationOptions,t),i.map(a=>{const s=a.visible==null?!0:a.visible;if(t.isAnimation){const n=[...a.paths];r.push(...this.getAnimationPath(n,t))}e.push(this.createLine(a.paths,a.symbol,a.attributes,s))}),this.overlayLayer.addMany(e),t.isAnimation&&this.customGreenWaveLineView.addMany(r)}getAnimationPath(i,t={isAnimation:!1,positive:!0,positiveColor:[0,255,0],negative:!0,negativeColor:[0,255,0]}){const e=[];return t.positive&&e.push({attributes:{color:t.positiveColor},geometry:l.geographicToWebMercator({paths:[i],type:"polyline"})}),t.negative&&e.push({attributes:{color:t.negativeColor},geometry:l.geographicToWebMercator({paths:[i.reverse()],type:"polyline"})}),e}createLine(i,t,e={},r){const a={type:"simple-line",color:[8,69,9,.8],width:5,...t},s=new u({paths:i}),n=l.geographicToWebMercator(s);return new c({geometry:n,symbol:a,attributes:{type:"greenWaveLine",...e},visible:r})}addPointText(i){const t=[];i.map(e=>{const r=e.visible==null?!0:e.visible;t.push(this.createPointText(e.point,e.symbol,e.attributes,r))}),this.overlayLayer.addMany(t)}createPointText(i,t,e={},r){const a={type:"text",color:"white",haloColor:"black",haloSize:"1px",xoffset:3,yoffset:3,font:{size:12,family:"Josefin Slab",weight:"bold"},...t},s=new y.Point({x:i[0],y:i[1]}),n=l.geographicToWebMercator(s);return new c({geometry:n,symbol:a,attributes:{type:"greenWaveLine-Text",...e},visible:r})}hideWaveLine(i){i?this.overlayLayer.graphics.filter(e=>{const r=e.getAttribute("id");return i.includes(r)}).forEach(e=>{e.visible=!1}):this.overlayLayer.graphics.map(t=>{t.visible=!1})}showWaveLine(i){i?this.overlayLayer.graphics.filter(e=>{const r=e.getAttribute("id");return i.includes(r)}).forEach(e=>{e.visible=!0}):this.overlayLayer.graphics.map(t=>{t.visible=!0})}hideLayer(){this.overlayLayer.visible=!1,this.customGreenWaveLineView.visible=!1}showLayer(){this.overlayLayer.visible=!0,this.customGreenWaveLineView.visible=!0}clearGreenWaveLine(){this.overlayLayer.removeAll(),this.customGreenWaveLineView.removeAll()}destroy(){this.overlayLayer.removeAll(),this.customGreenWaveLineView.removeAll(),this.viewer.map.layers.remove(this.customGreenWaveLineView),this.viewer.map.layers.remove(this.overlayLayer)}}exports.default=m;
@@ -1,4 +1,5 @@
1
1
  import View from '@arcgis/core/views/View';
2
+ import { IToggleTrafficInfoParams } from '../../../types';
2
3
  export default class Index {
3
4
  private readonly view;
4
5
  private traceHoloFlow;
@@ -8,6 +9,7 @@ export default class Index {
8
9
  * 处理全息流轨迹数据
9
10
  * */
10
11
  handleVehicleTraceData(data: any): void;
12
+ toggleTrafficObject(params: IToggleTrafficInfoParams): void;
11
13
  clearHoloTrace(): void;
12
14
  updatePanelContent(contentType: string): void;
13
15
  handleSignalData(data: any): Promise<void>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("../../../types/index.js"),o=require("./signal-holo-flow.js"),i=require("./trace-holo-flow.js");class n{constructor(e){this.view=e}handleVehicleTraceData(e){this.traceHoloFlow||(this.traceHoloFlow=new i.default(this.view)),this.traceHoloFlow.handleVehicleTraceData(e)}clearHoloTrace(){var e;(e=this.traceHoloFlow)==null||e.clearTrace()}updatePanelContent(e){var t;let a=l.EVehiclePlateState.None;switch(e){case"none":a=l.EVehiclePlateState.None;break;case"plateNumber":a=l.EVehiclePlateState.PlateNumber;break;case"vehicleId":a=l.EVehiclePlateState.Id;break;case"mix":a=l.EVehiclePlateState.Mix;break}(t=this.traceHoloFlow)==null||t.updatePanelContent(a)}async handleSignalData(e){this.signalHoloFlow||(this.signalHoloFlow=new o.default(this.view)),await this.signalHoloFlow.initializeLayer(),await this.signalHoloFlow.handleSignalData(e)}clearHoloSignal(){var e;(e=this.signalHoloFlow)==null||e.clearSignal()}}exports.default=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../../types/index.js"),o=require("./signal-holo-flow.js"),i=require("./trace-holo-flow.js");class c{constructor(e){this.view=e}handleVehicleTraceData(e){this.traceHoloFlow||(this.traceHoloFlow=new i.default(this.view)),this.traceHoloFlow.handleVehicleTraceData(e)}toggleTrafficObject(e){var l,a;switch(e.name.toLowerCase()){case"groundVehicle".toLowerCase():(l=this.traceHoloFlow)==null||l.toggleGroundVehicle(e.visible);break;case"elevatedVehicle".toLowerCase():(a=this.traceHoloFlow)==null||a.toggleElevatedVehicle(e.visible);break}}clearHoloTrace(){var e;(e=this.traceHoloFlow)==null||e.clearTrace()}updatePanelContent(e){var a;let l=t.EVehiclePlateState.None;switch(e){case"none":l=t.EVehiclePlateState.None;break;case"plateNumber":l=t.EVehiclePlateState.PlateNumber;break;case"vehicleId":l=t.EVehiclePlateState.Id;break;case"mix":l=t.EVehiclePlateState.Mix;break}(a=this.traceHoloFlow)==null||a.updatePanelContent(l)}async handleSignalData(e){this.signalHoloFlow||(this.signalHoloFlow=new o.default(this.view)),await this.signalHoloFlow.initializeLayer(),await this.signalHoloFlow.handleSignalData(e)}clearHoloSignal(){var e;(e=this.signalHoloFlow)==null||e.clearSignal()}}exports.default=c;
@@ -25,6 +25,14 @@ export default class SignalHoloFlow {
25
25
  * 获取显示倒计时的canvas
26
26
  * */
27
27
  private updateCountdown;
28
+ /**
29
+ * 在倒计时面板上写入倒计时时间
30
+ * @param countdownCanvas 倒计时面板canvas
31
+ * @param rtState 相位数据
32
+ * @param rtState.stageRemainingTime 剩余时间
33
+ * @param rtState.stageAllRedTime 全红时间
34
+ * @param rtState.stageYellowTime 黄灯时间
35
+ */
28
36
  private drawCountdownText;
29
37
  private updatePhaseLine;
30
38
  /**