gisviewer-vue3-arcgis 1.0.165 → 1.0.167

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 (40) hide show
  1. package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
  2. package/es/src/gis-map/gis-map.vue.d.ts +120 -0
  3. package/es/src/gis-map/gis-map.vue.mjs +142 -128
  4. package/es/src/gis-map/index.d.ts +120 -0
  5. package/es/src/gis-map/stores/appData.d.ts +2 -0
  6. package/es/src/gis-map/stores/appData.mjs +4 -2
  7. package/es/src/gis-map/utils/common-utils.mjs +5 -5
  8. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.d.ts +93 -0
  9. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.mjs +7 -0
  10. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue2.mjs +121 -0
  11. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue3.mjs +4 -0
  12. package/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.d.ts +14 -0
  13. package/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +123 -33
  14. package/es/src/gis-map/utils/holo-flow/trace-renderer-layer.mjs +102 -99
  15. package/es/src/gis-map/utils/map-initializer.d.ts +1 -0
  16. package/es/src/gis-map/utils/map-initializer.mjs +135 -127
  17. package/es/src/gis-map/utils/open-drive-renderer/index.mjs +10 -10
  18. package/es/src/gis-map/utils/traffic-flow.mjs +5 -4
  19. package/es/src/types/index.d.ts +22 -0
  20. package/es/style.css +1 -1
  21. package/lib/_virtual/_plugin-vue_export-helper.js +1 -0
  22. package/lib/src/gis-map/gis-map.vue.d.ts +120 -0
  23. package/lib/src/gis-map/gis-map.vue.js +1 -1
  24. package/lib/src/gis-map/index.d.ts +120 -0
  25. package/lib/src/gis-map/stores/appData.d.ts +2 -0
  26. package/lib/src/gis-map/stores/appData.js +1 -1
  27. package/lib/src/gis-map/utils/common-utils.js +1 -1
  28. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.d.ts +93 -0
  29. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.js +1 -0
  30. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue2.js +1 -0
  31. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue3.js +1 -0
  32. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.d.ts +14 -0
  33. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +1 -1
  34. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -1
  35. package/lib/src/gis-map/utils/map-initializer.d.ts +1 -0
  36. package/lib/src/gis-map/utils/map-initializer.js +1 -1
  37. package/lib/src/gis-map/utils/open-drive-renderer/index.js +1 -1
  38. package/lib/src/gis-map/utils/traffic-flow.js +1 -1
  39. package/lib/src/types/index.d.ts +22 -0
  40. package/package.json +1 -1
@@ -39,17 +39,17 @@ class f {
39
39
  async init() {
40
40
  }
41
41
  addVehicles(i) {
42
- return new Promise((e) => {
42
+ return new Promise((t) => {
43
43
  if (this.isPaused) {
44
- e();
44
+ t();
45
45
  return;
46
46
  }
47
- const t = i.map((s) => {
48
- const { vehicleId: r, heading: a, localTimestamp: h } = s, l = Number(s.x), n = Number(s.y);
49
- this.historyPositionMap.set(r, [
47
+ const e = i.map((s) => {
48
+ const { vehicleId: o, heading: a, localTimestamp: h } = s, l = Number(s.x), n = Number(s.y);
49
+ this.historyPositionMap.set(o, [
50
50
  { pos: [l, n, 0], heading: a, time: h }
51
51
  ]);
52
- const o = new c({
52
+ const r = new c({
53
53
  geometry: {
54
54
  type: "point",
55
55
  x: l,
@@ -61,42 +61,42 @@ class f {
61
61
  },
62
62
  symbol: this.createCIMSymbol(s)
63
63
  });
64
- return o.visible = !1, this.vehicleObjectMap.set(r, {
65
- graphic: o,
64
+ return r.visible = !1, this.vehicleObjectMap.set(o, {
65
+ graphic: r,
66
66
  data: s,
67
67
  waitForDelete: !1,
68
68
  isMoving: !1
69
- }), o;
69
+ }), r;
70
70
  });
71
- this.vehicleLayer.addMany(t), e();
71
+ this.vehicleLayer.addMany(e), t();
72
72
  });
73
73
  }
74
74
  updateVehicles(i) {
75
- return new Promise((e) => {
75
+ return new Promise((t) => {
76
76
  if (this.isPaused) {
77
- e();
77
+ t();
78
78
  return;
79
79
  }
80
- const t = [];
80
+ const e = [];
81
81
  i.forEach((s) => {
82
- const { vehicleId: r, heading: a, localTimestamp: h } = s, l = Number(s.x), n = Number(s.y), o = this.vehicleObjectMap.get(r);
83
- o ? (o.data = s, o.graphic.attributes = {
82
+ const { vehicleId: o, heading: a, localTimestamp: h } = s, l = Number(s.x), n = Number(s.y), r = this.vehicleObjectMap.get(o);
83
+ r ? (r.data = s, r.graphic.attributes = {
84
84
  ...s,
85
85
  type: "trackVehicle"
86
86
  }, this.historyPositionMap.get(
87
- r
87
+ o
88
88
  ).push({
89
89
  pos: [l, n, 0],
90
90
  heading: a,
91
91
  time: h
92
- })) : t.push(s);
93
- }), this.addVehicles(t), e();
92
+ })) : e.push(s);
93
+ }), this.addVehicles(e), t();
94
94
  });
95
95
  }
96
96
  deleteVehicles(i) {
97
- this.isPaused || i.forEach((e) => {
98
- const t = this.vehicleObjectMap.get(e);
99
- t && (t.waitForDelete = !0);
97
+ this.isPaused || i.forEach((t) => {
98
+ const e = this.vehicleObjectMap.get(t);
99
+ e && (e.waitForDelete = !0);
100
100
  });
101
101
  }
102
102
  clearVehicles() {
@@ -129,36 +129,36 @@ class f {
129
129
  this.needInterpolate = i;
130
130
  }
131
131
  render() {
132
- this.isPaused || this.vehicleObjectMap.forEach((i, e) => {
133
- this.updatePosition(e);
132
+ this.isPaused || this.vehicleObjectMap.forEach((i, t) => {
133
+ this.updatePosition(t);
134
134
  }), this.rafSignal = requestAnimationFrame(() => this.render());
135
135
  }
136
136
  updatePosition(i) {
137
- const e = this.historyPositionMap.get(i), t = this.vehicleObjectMap.get(i);
138
- if (!e || !t || !t.isMoving && e.length <= 2)
137
+ const t = this.historyPositionMap.get(i), e = this.vehicleObjectMap.get(i);
138
+ if (!t || !e || !e.isMoving && t.length <= 2)
139
139
  return;
140
- t.isMoving = !0, (t.graphic.getAttribute("roadLayer") || "1") === "1" ? t.graphic.visible = this.showGroundVehicle : t.graphic.visible = this.showElevatedVehicle, t.segmentStartTime || (t.segmentStartTime = Date.now(), t.segmentTotalTime = e[1].time - e[0].time);
141
- const r = Date.now() - t.segmentStartTime, a = Math.min(
140
+ e.isMoving = !0, (e.graphic.getAttribute("roadLayer") || "1") === "1" ? e.graphic.visible = this.showGroundVehicle : e.graphic.visible = this.showElevatedVehicle, e.segmentStartTime || (e.segmentStartTime = Date.now(), e.segmentTotalTime = t[1].time - t[0].time);
141
+ const o = Date.now() - e.segmentStartTime, a = Math.min(
142
142
  1,
143
- r / t.segmentTotalTime
143
+ o / e.segmentTotalTime
144
144
  );
145
145
  if (a === 1)
146
- if (e.shift(), e.length === 1) {
147
- t.waitForDelete ? (this.vehicleLayer.remove(t.graphic), this.vehicleObjectMap.delete(i), this.historyPositionMap.delete(i)) : (t.segmentStartTime = void 0, t.segmentTotalTime = void 0, t.graphic.visible = !1, t.isMoving = !1);
146
+ if (t.shift(), t.length === 1) {
147
+ e.waitForDelete ? (this.vehicleLayer.remove(e.graphic), this.vehicleObjectMap.delete(i), this.historyPositionMap.delete(i)) : (e.segmentStartTime = void 0, e.segmentTotalTime = void 0, e.graphic.visible = !1, e.isMoving = !1);
148
148
  return;
149
149
  } else
150
- t.segmentStartTime = Date.now(), t.segmentTotalTime = e[1].time - e[0].time, (e[1].heading >= 270 && e[0].heading <= 90 || e[1].heading <= 90 && e[0].heading >= 270) && (e[1].heading > e[0].heading ? e[0].heading += 360 : e[1].heading += 360), t.graphic.geometry = {
150
+ e.segmentStartTime = Date.now(), e.segmentTotalTime = t[1].time - t[0].time, (t[1].heading >= 270 && t[0].heading <= 90 || t[1].heading <= 90 && t[0].heading >= 270) && (t[1].heading > t[0].heading ? t[0].heading += 360 : t[1].heading += 360), e.graphic.geometry = {
151
151
  type: "point",
152
- x: e[0].pos[0],
153
- y: e[0].pos[1]
152
+ x: t[0].pos[0],
153
+ y: t[0].pos[1]
154
154
  };
155
155
  else {
156
- const h = e[0].pos[0] + (e[1].pos[0] - e[0].pos[0]) * a, l = e[0].pos[1] + (e[1].pos[1] - e[0].pos[1]) * a, n = e[0].heading + (e[1].heading - e[0].heading) * a;
157
- t.graphic.geometry = {
156
+ const h = t[0].pos[0] + (t[1].pos[0] - t[0].pos[0]) * a, l = t[0].pos[1] + (t[1].pos[1] - t[0].pos[1]) * a, n = t[0].heading + (t[1].heading - t[0].heading) * a;
157
+ e.graphic.geometry = {
158
158
  type: "point",
159
159
  x: h,
160
160
  y: l
161
- }, t.data.heading = n, t.graphic.symbol = this.createCIMSymbol(t.data);
161
+ }, e.data.heading = n, e.graphic.symbol = this.createCIMSymbol(e.data);
162
162
  }
163
163
  }
164
164
  /**
@@ -167,7 +167,7 @@ class f {
167
167
  * @returns
168
168
  */
169
169
  createCIMSymbol(i) {
170
- const e = this.getPlateFontColor(i.plateColor);
170
+ const t = this.getPlateFontColor(i.plateColor), e = this.getCarPic(i.vehicleColor, i.speed);
171
171
  return {
172
172
  type: "cim",
173
173
  data: {
@@ -215,7 +215,7 @@ class f {
215
215
  {
216
216
  type: "CIMSolidFill",
217
217
  enable: !0,
218
- color: e.backgroundColor
218
+ color: t.backgroundColor
219
219
  }
220
220
  ]
221
221
  },
@@ -225,7 +225,7 @@ class f {
225
225
  {
226
226
  type: "CIMSolidFill",
227
227
  enable: !0,
228
- color: e.fillColor
228
+ color: t.fillColor
229
229
  }
230
230
  ]
231
231
  },
@@ -246,14 +246,11 @@ class f {
246
246
  y: 0
247
247
  },
248
248
  anchorPointUnits: "Relative",
249
- size: 30,
249
+ size: e.size,
250
250
  rotation: i.heading,
251
251
  rotateClockwise: !0,
252
252
  textureFilter: "Picture",
253
- url: `${this.mapConfig.assetsRoot}Images/${this.getCarPic(
254
- i.vehicleColor,
255
- i.speed
256
- )}`
253
+ url: `${this.mapConfig.assetsRoot}Images/${e.pic}`
257
254
  }
258
255
  ]
259
256
  }
@@ -265,53 +262,59 @@ class f {
265
262
  * @param carColor
266
263
  * @returns
267
264
  */
268
- getCarPic(i, e) {
269
- if (this.view.scale >= 1e3)
270
- return e ? e <= 4.2 ? "point_red.png" : e <= 8.4 ? "point_yellow.png" : "point_green.png" : "point_green.png";
271
- let t = "grey";
272
- switch (typeof i == "string" && (i = i.toLowerCase()), i) {
273
- case "a":
274
- case 1:
275
- t = "white";
276
- break;
277
- case "b":
278
- case 2:
279
- t = "grey";
280
- break;
281
- case "c":
282
- case 3:
283
- t = "yellow";
284
- break;
285
- case "d":
286
- case 4:
287
- t = "pink";
288
- break;
289
- case "e":
290
- case 5:
291
- t = "red";
292
- break;
293
- case "f":
294
- case 10:
295
- t = "purple";
296
- break;
297
- case "g":
298
- case 6:
299
- t = "green";
300
- break;
301
- case "h":
302
- case 7:
303
- t = "blue";
304
- break;
305
- case "i":
306
- case 8:
307
- t = "brown";
308
- break;
309
- case "j":
310
- case 9:
311
- t = "black";
312
- break;
265
+ getCarPic(i, t) {
266
+ if (this.view.scale >= 1e3) {
267
+ let e = "point_green.png";
268
+ return t && (t <= 4.2 ? e = "point_red.png" : t <= 8.4 ? e = "point_yellow.png" : e = "point_green.png"), {
269
+ pic: e,
270
+ size: 15
271
+ };
272
+ } else {
273
+ let e = "grey";
274
+ switch (typeof i == "string" && (i = i.toLowerCase()), i) {
275
+ case "a":
276
+ case 1:
277
+ e = "white";
278
+ break;
279
+ case "b":
280
+ case 2:
281
+ e = "grey";
282
+ break;
283
+ case "c":
284
+ case 3:
285
+ e = "yellow";
286
+ break;
287
+ case "d":
288
+ case 4:
289
+ e = "pink";
290
+ break;
291
+ case "e":
292
+ case 5:
293
+ e = "red";
294
+ break;
295
+ case "f":
296
+ case 10:
297
+ e = "purple";
298
+ break;
299
+ case "g":
300
+ case 6:
301
+ e = "green";
302
+ break;
303
+ case "h":
304
+ case 7:
305
+ e = "blue";
306
+ break;
307
+ case "i":
308
+ case 8:
309
+ e = "brown";
310
+ break;
311
+ case "j":
312
+ case 9:
313
+ e = "black";
314
+ break;
315
+ }
316
+ return { pic: "/car/" + e + ".png", size: 30 };
313
317
  }
314
- return "/car/" + t + ".png";
315
318
  }
316
319
  /**
317
320
  * 根据号牌颜色属性获取填充色和背景色
@@ -319,30 +322,30 @@ class f {
319
322
  * @returns
320
323
  */
321
324
  getPlateFontColor(i) {
322
- let e = [255, 255, 255, 255], t = [169, 169, 169, 255];
325
+ let t = [255, 255, 255, 255], e = [169, 169, 169, 255];
323
326
  switch (i) {
324
327
  case 0:
325
- e = [0, 0, 0, 255], t = [255, 255, 255, 255];
328
+ t = [0, 0, 0, 255], e = [255, 255, 255, 255];
326
329
  break;
327
330
  case 1:
328
- e = [0, 0, 0, 255], t = [244, 164, 96, 255];
331
+ t = [0, 0, 0, 255], e = [244, 164, 96, 255];
329
332
  break;
330
333
  case 2:
331
- e = [255, 255, 255, 255], t = [65, 105, 225, 255];
334
+ t = [255, 255, 255, 255], e = [65, 105, 225, 255];
332
335
  break;
333
336
  case 3:
334
- e = [255, 255, 255, 255], t = [0, 0, 0, 255];
337
+ t = [255, 255, 255, 255], e = [0, 0, 0, 255];
335
338
  break;
336
339
  case 15:
337
- e = [244, 164, 96, 255], t = [0, 250, 154, 255];
340
+ t = [244, 164, 96, 255], e = [0, 250, 154, 255];
338
341
  break;
339
342
  case 16:
340
- e = [0, 0, 0, 255], t = [0, 250, 154, 255];
343
+ t = [0, 0, 0, 255], e = [0, 250, 154, 255];
341
344
  break;
342
345
  }
343
346
  return {
344
- fillColor: e,
345
- backgroundColor: t
347
+ fillColor: t,
348
+ backgroundColor: e
346
349
  };
347
350
  }
348
351
  }
@@ -11,6 +11,7 @@ export default class MapInitializer {
11
11
  */
12
12
  initialize(params: {
13
13
  container: HTMLElement;
14
+ mapConfig: any;
14
15
  markerClickCallback?: (type: string, id: string, detail: any, event?: any) => void;
15
16
  mapClickCallback?: (mapPoint: number[], screenPoint: number[], event?: any) => void;
16
17
  }): Promise<MapView | SceneView>;