gisviewer-vue3-arcgis 1.0.101 → 1.0.103

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 (30) hide show
  1. package/es/src/gis-map/gis-map.vue.d.ts +1 -0
  2. package/es/src/gis-map/gis-map.vue.mjs +52 -49
  3. package/es/src/gis-map/index.d.ts +1 -0
  4. package/es/src/gis-map/utils/holo-flow/index.d.ts +1 -0
  5. package/es/src/gis-map/utils/holo-flow/index.mjs +4 -0
  6. package/es/src/gis-map/utils/holo-flow/signal-holo-flow.mjs +1 -1
  7. package/es/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +1 -0
  8. package/es/src/gis-map/utils/holo-flow/trace-holo-flow.mjs +38 -38
  9. package/es/src/gis-map/utils/holo-flow/{trace-external-renderer.d.ts → trace-renderer-external.d.ts} +13 -5
  10. package/es/src/gis-map/utils/holo-flow/trace-renderer-external.mjs +381 -0
  11. package/es/src/gis-map/utils/holo-flow/{trace-layer-renderer.d.ts → trace-renderer-layer.d.ts} +4 -2
  12. package/es/src/gis-map/utils/holo-flow/{trace-layer-renderer.mjs → trace-renderer-layer.mjs} +35 -31
  13. package/es/src/types/index.d.ts +2 -0
  14. package/lib/src/gis-map/gis-map.vue.d.ts +1 -0
  15. package/lib/src/gis-map/gis-map.vue.js +1 -1
  16. package/lib/src/gis-map/index.d.ts +1 -0
  17. package/lib/src/gis-map/utils/holo-flow/index.d.ts +1 -0
  18. package/lib/src/gis-map/utils/holo-flow/index.js +1 -1
  19. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.js +1 -1
  20. package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +1 -0
  21. package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.js +1 -1
  22. package/lib/src/gis-map/utils/holo-flow/{trace-external-renderer.d.ts → trace-renderer-external.d.ts} +13 -5
  23. package/lib/src/gis-map/utils/holo-flow/trace-renderer-external.js +1 -0
  24. package/lib/src/gis-map/utils/holo-flow/{trace-layer-renderer.d.ts → trace-renderer-layer.d.ts} +4 -2
  25. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -0
  26. package/lib/src/types/index.d.ts +2 -0
  27. package/package.json +1 -1
  28. package/es/src/gis-map/utils/holo-flow/trace-external-renderer.mjs +0 -322
  29. package/lib/src/gis-map/utils/holo-flow/trace-external-renderer.js +0 -1
  30. package/lib/src/gis-map/utils/holo-flow/trace-layer-renderer.js +0 -1
@@ -50,6 +50,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
50
50
  disconnectCarFlow: () => void;
51
51
  handleHoloVehicleTraceData: (vehicleTrace: any) => void;
52
52
  clearHoloTrace: () => void;
53
+ setInterpolate: (enable: boolean) => void;
53
54
  handleHoloSignalData: (signalData: any) => Promise<void>;
54
55
  clearHoloSignal: () => void;
55
56
  toggleTrafficInfo: (params: IToggleTrafficInfoParams) => void;
@@ -1,14 +1,14 @@
1
- import { defineComponent as te, ref as ne, onMounted as ae, getCurrentInstance as re, computed as oe, openBlock as se, createElementBlock as ce, createElementVNode as ie } from "vue";
2
- import le, { registerStore as me } from "./stores/index.mjs";
1
+ import { defineComponent as ne, ref as ae, onMounted as re, getCurrentInstance as oe, computed as se, openBlock as ce, createElementBlock as ie, createElementVNode as le } from "vue";
2
+ import me, { registerStore as pe } from "./stores/index.mjs";
3
3
  import "./style/index.css";
4
4
  import g from "./utils/holo-flow/index.mjs";
5
- import pe from "./utils/map-initializer.mjs";
6
- import fe from "./utils/open-drive-renderer/index.mjs";
7
- import ue from "./utils/overlay.mjs";
8
- import de from "./utils/queue-length.mjs";
5
+ import fe from "./utils/map-initializer.mjs";
6
+ import ue from "./utils/open-drive-renderer/index.mjs";
7
+ import de from "./utils/overlay.mjs";
8
+ import ge from "./utils/queue-length.mjs";
9
9
  import v from "./utils/road-config-tool/index.mjs";
10
- import ge from "./utils/traffic-flow.mjs";
11
- const ye = { class: "gis-viewer" }, Le = /* @__PURE__ */ te({
10
+ import ye from "./utils/traffic-flow.mjs";
11
+ const Ce = { class: "gis-viewer" }, De = /* @__PURE__ */ ne({
12
12
  __name: "gis-map",
13
13
  props: {
14
14
  config: {},
@@ -16,25 +16,25 @@ const ye = { class: "gis-viewer" }, Le = /* @__PURE__ */ te({
16
16
  },
17
17
  emits: ["mapLoaded", "markerClick", "mapClick"],
18
18
  setup(w, { expose: O, emit: T }) {
19
- const m = ne(null);
19
+ const m = ae(null);
20
20
  let o, s, a, r, t, n, i, l;
21
- me(), ae(async () => {
21
+ pe(), re(async () => {
22
22
  if (!m.value)
23
23
  return;
24
- const e = re(), { $gisviewerAssetsRoot: c } = e.appContext.config.globalProperties, C = await (await fetch(y.config)).json();
24
+ const e = oe(), { $gisviewerAssetsRoot: c } = e.appContext.config.globalProperties, C = await (await fetch(y.config)).json();
25
25
  C.assetsRoot = y.assetsRoot || c;
26
- const F = le.useAppDataStore;
27
- F.mapConfig = C, s = new pe(), o = await s.initialize({
26
+ const ee = me.useAppDataStore;
27
+ ee.mapConfig = C, s = new fe(), o = await s.initialize({
28
28
  container: m.value,
29
- markerClickCallback: (f, u, d, ee) => {
30
- p("markerClick", f, u, d, ee);
29
+ markerClickCallback: (f, u, d, te) => {
30
+ p("markerClick", f, u, d, te);
31
31
  },
32
32
  mapClickCallback: (f, u, d) => {
33
33
  p("mapClick", f, u, d);
34
34
  }
35
35
  }), t = new g(o), p("mapLoaded");
36
36
  });
37
- const k = oe(() => o), h = async (e) => await s.setMapCenter(e), I = async (e) => await s.setMapCamera(e), b = async (e) => await s.lookAt(e), A = (e) => s.setLayerVisibility(e), L = (e, c) => s.requestCoordinateTransform(e, c), D = (e) => {
37
+ const k = se(() => o), I = async (e) => await s.setMapCenter(e), b = async (e) => await s.setMapCamera(e), h = async (e) => await s.lookAt(e), A = (e) => s.setLayerVisibility(e), L = (e, c) => s.requestCoordinateTransform(e, c), D = (e) => {
38
38
  s.cancelCoordinateTransform(e);
39
39
  }, S = (e) => {
40
40
  s.setMapZoomRange(e);
@@ -42,48 +42,50 @@ const ye = { class: "gis-viewer" }, Le = /* @__PURE__ */ te({
42
42
  a == null || a.clearLaneNumber();
43
43
  }, R = async (e) => (a || (a = new v(o)), await a.initializeSearch(e)), V = async () => a == null ? void 0 : a.calCrossIndicatorArea(), x = async () => {
44
44
  }, B = async (e, c) => {
45
- r || (r = new ge(o)), r.connectTrafficFlow(e, c);
45
+ r || (r = new ye(o)), r.connectTrafficFlow(e, c);
46
46
  }, H = () => {
47
47
  r == null || r.disconnectTrafficFlow();
48
48
  }, z = (e) => {
49
49
  t || (t = new g(o)), t.handleVehicleTraceData(e);
50
50
  }, N = () => {
51
51
  t == null || t.clearHoloTrace();
52
- }, Q = async (e) => {
52
+ }, Q = (e) => {
53
+ t == null || t.setInterpolate(e);
54
+ }, j = async (e) => {
53
55
  t || (t = new g(o)), await t.handleSignalData(e);
54
- }, j = () => {
56
+ }, E = () => {
55
57
  t == null || t.clearHoloSignal();
56
- }, E = (e) => {
57
- r == null || r.toggleTrafficInfo(e), t == null || t.toggleTrafficInfo(e);
58
58
  }, P = (e) => {
59
- t == null || t.toggleTrafficObject(e), r == null || r.toggleTrafficObject(e);
59
+ r == null || r.toggleTrafficInfo(e), t == null || t.toggleTrafficInfo(e);
60
60
  }, Z = (e) => {
61
+ t == null || t.toggleTrafficObject(e), r == null || r.toggleTrafficObject(e);
62
+ }, q = (e) => {
61
63
  t == null || t.updatePanelContent(e);
62
- }, q = async (e) => (n || (n = new ue(o)), n.addOverlays(e)), $ = (e) => n == null ? void 0 : n.removeOverlaysByType(e), G = (e) => n == null ? void 0 : n.removeOverlaysById(e), J = () => n == null ? void 0 : n.removeAllOverlays(), K = () => {
64
+ }, $ = async (e) => (n || (n = new de(o)), n.addOverlays(e)), G = (e) => n == null ? void 0 : n.removeOverlaysByType(e), J = (e) => n == null ? void 0 : n.removeOverlaysById(e), K = () => n == null ? void 0 : n.removeAllOverlays(), U = () => {
63
65
  n == null || n.showAllOverlays();
64
- }, U = (e) => {
65
- i || (i = new de(o)), i.updateQueueLength(e);
66
- }, W = () => {
66
+ }, W = (e) => {
67
+ i || (i = new ge(o)), i.updateQueueLength(e);
68
+ }, X = () => {
67
69
  i == null || i.removeQueueLength();
68
- }, X = async (e, c) => {
69
- l || (l = new fe(o)), await l.showOpenDrive(e, c);
70
- }, Y = async () => {
70
+ }, Y = async (e, c) => {
71
+ l || (l = new ue(o)), await l.showOpenDrive(e, c);
72
+ }, F = async () => {
71
73
  await (l == null ? void 0 : l.hideOpenDrive());
72
74
  }, y = w, p = T;
73
75
  return O({
74
76
  mapViewer: k,
75
77
  setLayerVisibility: A,
76
- setMapCenter: h,
77
- lookAt: b,
78
- setMapCamera: I,
78
+ setMapCenter: I,
79
+ lookAt: h,
80
+ setMapCamera: b,
79
81
  setMapZoomRange: S,
80
82
  requestCoordinateTransform: L,
81
83
  cancelCoordinateTransform: D,
82
- addOverlays: q,
83
- showAllOverlays: K,
84
- removeOverlaysByType: $,
85
- removeOverlaysById: G,
86
- removeAllOverlays: J,
84
+ addOverlays: $,
85
+ showAllOverlays: U,
86
+ removeOverlaysByType: G,
87
+ removeOverlaysById: J,
88
+ removeAllOverlays: K,
87
89
  showLaneNumber: _,
88
90
  clearLaneNumber: M,
89
91
  initializeAreaTool: R,
@@ -93,17 +95,18 @@ const ye = { class: "gis-viewer" }, Le = /* @__PURE__ */ te({
93
95
  disconnectCarFlow: H,
94
96
  handleHoloVehicleTraceData: z,
95
97
  clearHoloTrace: N,
96
- handleHoloSignalData: Q,
97
- clearHoloSignal: j,
98
- toggleTrafficInfo: E,
99
- toggleTrafficObject: P,
100
- toggleVehicleInfo: Z,
101
- updateQueueLength: U,
102
- removeQueueLength: W,
103
- showOpenDrive: X,
104
- hideOpenDrive: Y
105
- }), (e, c) => (se(), ce("div", ye, [
106
- ie("div", {
98
+ handleHoloSignalData: j,
99
+ clearHoloSignal: E,
100
+ setInterpolate: Q,
101
+ toggleTrafficInfo: P,
102
+ toggleTrafficObject: Z,
103
+ toggleVehicleInfo: q,
104
+ updateQueueLength: W,
105
+ removeQueueLength: X,
106
+ showOpenDrive: Y,
107
+ hideOpenDrive: F
108
+ }), (e, c) => (ce(), ie("div", Ce, [
109
+ le("div", {
107
110
  class: "gis-viewer-main",
108
111
  ref_key: "mapContainer",
109
112
  ref: m
@@ -112,5 +115,5 @@ const ye = { class: "gis-viewer" }, Le = /* @__PURE__ */ te({
112
115
  }
113
116
  });
114
117
  export {
115
- Le as default
118
+ De as default
116
119
  };
@@ -40,6 +40,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
40
40
  disconnectCarFlow: () => void;
41
41
  handleHoloVehicleTraceData: (vehicleTrace: any) => void;
42
42
  clearHoloTrace: () => void;
43
+ setInterpolate: (enable: boolean) => void;
43
44
  handleHoloSignalData: (signalData: any) => Promise<void>;
44
45
  clearHoloSignal: () => void;
45
46
  toggleTrafficInfo: (params: import("../types").IToggleTrafficInfoParams) => void;
@@ -15,4 +15,5 @@ export default class Index {
15
15
  updatePanelContent(contentType: string): void;
16
16
  handleSignalData(data: any): Promise<void>;
17
17
  clearHoloSignal(): void;
18
+ setInterpolate(enable: boolean): void;
18
19
  }
@@ -59,6 +59,10 @@ class h {
59
59
  var e;
60
60
  (e = this.signalHoloFlow) == null || e.clearSignal();
61
61
  }
62
+ setInterpolate(e) {
63
+ var o;
64
+ (o = this.traceHoloFlow) == null || o.setInterpolate(e);
65
+ }
62
66
  }
63
67
  export {
64
68
  h as default
@@ -216,7 +216,7 @@ class f {
216
216
  createCountdownCanvas() {
217
217
  return new Promise((e, a) => {
218
218
  const i = new Image();
219
- i.src = `${this.mapConfig.assetsRoot}/Images/timeboard/CountdownBG.png`, console.log(i.src), i.onload = () => {
219
+ i.src = `${this.mapConfig.assetsRoot}/Images/timeboard/CountdownBG.png`, i.onload = () => {
220
220
  const n = document.createElement("canvas");
221
221
  n.width = this.canvasWidth, n.height = this.canvasHeight, n.style.position = "absolute", n.style.transform = "translate(-50%, -50%)", n.getContext(
222
222
  "2d"
@@ -21,5 +21,6 @@ export default class TraceHoloFlow {
21
21
  updatePanelContent(contentType: EVehiclePlateState): void;
22
22
  toggleGroundVehicle(visible: boolean): void;
23
23
  toggleElevatedVehicle(visible: boolean): void;
24
+ setInterpolate(enable: boolean): void;
24
25
  private buildVehicleTrackData;
25
26
  }
@@ -1,12 +1,12 @@
1
1
  import * as f from "@arcgis/core/views/3d/externalRenderers";
2
- import u from "../../stores/index.mjs";
3
- import g from "./trace-external-renderer.mjs";
4
- import T from "./trace-layer-renderer.mjs";
5
- class N {
2
+ import g from "../../stores/index.mjs";
3
+ import u from "./trace-renderer-external.mjs";
4
+ import T from "./trace-renderer-layer.mjs";
5
+ class b {
6
6
  constructor(e) {
7
7
  this.lastDataTime = 0, this.view = e;
8
- const i = u.useAppDataStore;
9
- this.mapConfig = JSON.parse(JSON.stringify(i.mapConfig)), e.type === "3d" ? (this.traceRenderer = new g(e), f.add(
8
+ const c = g.useAppDataStore;
9
+ this.mapConfig = JSON.parse(JSON.stringify(c.mapConfig)), e.type === "3d" ? (this.traceRenderer = new u(e), f.add(
10
10
  e,
11
11
  this.traceRenderer
12
12
  )) : this.traceRenderer = new T(e);
@@ -15,31 +15,27 @@ class N {
15
15
  * 处理全息流轨迹数据
16
16
  * */
17
17
  handleVehicleTraceData(e) {
18
- const i = new Date().getTime();
19
- if (i - this.lastDataTime < 100)
20
- return;
21
- this.lastDataTime = i;
22
- const { newVehList: s, updateVehList: n, deleteVehList: o, jgsj: l } = e, a = e.crossId || "", h = [], r = [];
18
+ const c = new Date().getTime(), { newVehList: s, updateVehList: l, deleteVehList: o, jgsj: i } = e, n = e.crossId || "", a = [], h = [];
23
19
  if (s && s.length > 0) {
24
- for (const c of s) {
25
- c.localTimestamp || (c.localTimestamp = l || i);
26
- const t = this.buildVehicleTrackData(c, a);
27
- t && h.push(t);
20
+ for (const t of s) {
21
+ t.localTimestamp || (t.localTimestamp = i || c);
22
+ const r = this.buildVehicleTrackData(t, n);
23
+ r && a.push(r);
28
24
  }
29
- this.traceRenderer.addVehicles(h);
25
+ this.traceRenderer.addVehicles(a);
30
26
  }
31
- if (n && n.length > 0) {
32
- for (const c of n) {
33
- const t = this.buildVehicleTrackData(c, a);
34
- t && r.push(t);
27
+ if (l && l.length > 0) {
28
+ for (const t of l) {
29
+ const r = this.buildVehicleTrackData(t, n);
30
+ r && h.push(r);
35
31
  }
36
- this.traceRenderer.updateVehicles(r);
32
+ this.traceRenderer.updateVehicles(h);
37
33
  }
38
34
  if (o && o.length > 0) {
39
- const c = o.map(
40
- (t) => a + "-" + (t.ptcId || t.vehno || t.vehNo)
35
+ const t = o.map(
36
+ (r) => n + "-" + (r.ptcId || r.vehno || r.vehNo)
41
37
  );
42
- this.traceRenderer.deleteVehicles(c);
38
+ this.traceRenderer.deleteVehicles(t);
43
39
  }
44
40
  }
45
41
  /**
@@ -64,27 +60,31 @@ class N {
64
60
  toggleElevatedVehicle(e) {
65
61
  this.traceRenderer.toggleElevatedVehicle(e);
66
62
  }
67
- buildVehicleTrackData(e, i) {
68
- const p = e.longitude, s = e.latitude, n = e.ptcId, o = Number(e.ptcType), l = e.heading, a = Number(e.vehicleType), h = Number(e.vehicleColor), r = e.plateNo || e.plateno, c = Number(e.plateColor), t = e.timestamp, d = e.localTimestamp, m = String(e.roadLayer) || "1";
69
- if (!(o < 0 || o > 8))
63
+ setInterpolate(e) {
64
+ this.traceRenderer.setInterpolate(e);
65
+ }
66
+ buildVehicleTrackData(e, c) {
67
+ const s = e.longitude, l = e.latitude, o = e.ptcId, i = Number(e.ptcType), n = e.heading, a = Number(e.vehicleType), h = Number(e.vehicleColor), t = e.plateNo || e.plateno, r = Number(e.plateColor), p = e.timestamp, d = e.localTimestamp, m = String(e.roadLayer) || "1";
68
+ if (!(i < 0 || i > 8))
70
69
  return {
71
- ptcId: n,
72
- crossId: i,
73
- x: p,
74
- y: s,
75
- ptcType: o,
70
+ ptcId: o,
71
+ crossId: c,
72
+ vehicleId: c + "-" + o,
73
+ x: s,
74
+ y: l,
75
+ ptcType: i,
76
76
  vehicleType: a,
77
- heading: o === 2 ? -l : l,
77
+ heading: i === 2 ? -n : n,
78
78
  vehicleColor: h,
79
- showName: r && r !== "" && r !== "0" && r !== "000000" ? r : "",
80
- plateNo: r,
81
- plateColor: c,
82
- timestamp: t,
79
+ showName: t && t !== "" && t !== "0" && t !== "000000" ? t : "",
80
+ plateNo: t,
81
+ plateColor: r,
82
+ timestamp: p,
83
83
  localTimestamp: d,
84
84
  roadLayer: m
85
85
  };
86
86
  }
87
87
  }
88
88
  export {
89
- N as default
89
+ b as default
90
90
  };
@@ -1,5 +1,5 @@
1
1
  import { EVehiclePlateState, IToggleTrafficInfoParams, ITraceRendererInterface, IVehicleTrack } from '../../../types';
2
- export default class TraceExternalRenderer implements ITraceRendererInterface {
2
+ export default class TraceRendererExternal implements ITraceRendererInterface {
3
3
  private renderer;
4
4
  private scene;
5
5
  private camera;
@@ -24,22 +24,30 @@ export default class TraceExternalRenderer implements ITraceRendererInterface {
24
24
  private currentSpriteContent;
25
25
  private historyPositionMap;
26
26
  private vehicleObjectMap;
27
+ private needInterpolate;
28
+ private mesh;
29
+ private sprite;
27
30
  constructor(view: __esri.SceneView);
31
+ setInterpolate(needInterpolate: boolean): void;
32
+ private context;
28
33
  setup(context: any): Promise<void>;
34
+ private geometryTest;
29
35
  render(context: any): Promise<void>;
30
36
  /**
31
37
  * 新增车辆
32
38
  * */
33
- addVehicles(objects: IVehicleTrack[]): void;
39
+ addVehicles(objects: IVehicleTrack[]): Promise<void>;
34
40
  /**
35
41
  * 更新车辆
36
42
  * */
37
- updateVehicles(objects: IVehicleTrack[]): void;
43
+ updateVehicles(objects: IVehicleTrack[]): Promise<void>;
44
+ private toRenderCoordinates;
38
45
  /**
39
46
  * 删除车辆
40
47
  * */
41
48
  deleteVehicles(idList: string[]): void;
42
- toggleTrafficInfo(params: IToggleTrafficInfoParams): void;
49
+ private deleteVehicle;
50
+ toggleTrafficInfo(params: IToggleTrafficInfoParams): Promise<void>;
43
51
  /**
44
52
  * 清除全部车辆
45
53
  * */
@@ -49,7 +57,7 @@ export default class TraceExternalRenderer implements ITraceRendererInterface {
49
57
  * @param contentType
50
58
  * @returns
51
59
  */
52
- updatePanelContent(contentType: EVehiclePlateState): void;
60
+ updatePanelContent(contentType: EVehiclePlateState): Promise<void>;
53
61
  toggleGroundVehicle(visible: boolean): void;
54
62
  toggleElevatedVehicle(visible: boolean): void;
55
63
  /**