gisviewer-vue3-arcgis 1.0.169 → 1.0.171

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 (28) hide show
  1. package/es/src/gis-map/gis-map.vue.d.ts +4 -4
  2. package/es/src/gis-map/gis-map.vue.mjs +105 -106
  3. package/es/src/gis-map/index.d.ts +2 -2
  4. package/es/src/gis-map/style/index.css +26 -0
  5. package/es/src/gis-map/utils/GreenWaveline.d.ts +68 -0
  6. package/es/src/gis-map/utils/holo-flow/index.d.ts +3 -2
  7. package/es/src/gis-map/utils/holo-flow/index.mjs +9 -6
  8. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.mjs +120 -5
  9. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue2.mjs +2 -120
  10. package/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.d.ts +3 -8
  11. package/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +60 -77
  12. package/es/style.css +1 -1
  13. package/lib/src/gis-map/gis-map.vue.d.ts +4 -4
  14. package/lib/src/gis-map/gis-map.vue.js +1 -1
  15. package/lib/src/gis-map/index.d.ts +2 -2
  16. package/lib/src/gis-map/style/index.css +26 -0
  17. package/lib/src/gis-map/utils/GreenWaveline.d.ts +68 -0
  18. package/lib/src/gis-map/utils/holo-flow/index.d.ts +3 -2
  19. package/lib/src/gis-map/utils/holo-flow/index.js +1 -1
  20. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.js +1 -1
  21. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue2.js +1 -1
  22. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.d.ts +3 -8
  23. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +1 -1
  24. package/package.json +1 -1
  25. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -9
  26. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue3.mjs +0 -4
  27. package/lib/_virtual/_plugin-vue_export-helper.js +0 -1
  28. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue3.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import MapView from '@arcgis/core/views/MapView';
2
2
  import SceneView from '@arcgis/core/views/SceneView';
3
- import { IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowOpenDriveFromFileParams, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
3
+ import { IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowOpenDriveFromFileParams, ISignalCountdownProps, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } 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';
@@ -34,9 +34,9 @@ declare const _sfc_main: import("vue").DefineComponent<{
34
34
  mapConfig: {};
35
35
  saveTrackLog: boolean;
36
36
  isSketching: boolean;
37
- countdownPanels: import("../types").ISignalCountdownProps[];
37
+ countdownPanels: ISignalCountdownProps[];
38
38
  }, {}, {}>;
39
- countdownPanelInfos: import("vue").Ref<{
39
+ countdownPanelProps: {
40
40
  displayMode: string;
41
41
  crossId: string;
42
42
  roadId: string;
@@ -58,7 +58,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
58
58
  rNumber?: number | undefined;
59
59
  rColor?: string | undefined;
60
60
  };
61
- }[]>;
61
+ }[];
62
62
  mapViewer: import("vue").ComputedRef<MapView | SceneView>;
63
63
  startSaveTrackLog: () => void;
64
64
  downloadTrackLog: () => void;
@@ -1,183 +1,182 @@
1
- import { defineComponent as xe, ref as O, onMounted as Pe, getCurrentInstance as Be, onUnmounted as Ve, computed as ze, openBlock as v, createElementBlock as k, createElementVNode as g, withDirectives as Ne, vShow as Qe, Fragment as je, renderList as Ee, unref as Ze, createBlock as qe } from "vue";
2
- import { storeToRefs as Ke } from "pinia";
3
- import A, { registerStore as Re } from "./stores/index.mjs";
1
+ import { defineComponent as He, ref as O, reactive as xe, onMounted as Be, getCurrentInstance as Pe, onUnmounted as Ve, computed as ze, openBlock as v, createElementBlock as k, createElementVNode as g, withDirectives as Ne, vShow as Qe, Fragment as je, renderList as Ee, createBlock as Ze } from "vue";
2
+ import A, { registerStore as $e } from "./stores/index.mjs";
4
3
  import "./style/index.css";
5
- import T from "./utils/holo-flow/index.mjs";
6
- import Ue from "./utils/holo-flow/signal-countdown-panel.vue.mjs";
7
- import $e from "./utils/map-initializer.mjs";
4
+ import qe from "./utils/holo-flow/index.mjs";
5
+ import Ke from "./utils/holo-flow/signal-countdown-panel.vue.mjs";
6
+ import Ue from "./utils/map-initializer.mjs";
8
7
  import L from "./utils/open-drive-renderer/index.mjs";
9
- import D from "./utils/overlay.mjs";
8
+ import T from "./utils/overlay.mjs";
10
9
  import Ge from "./utils/queue-length.mjs";
11
- import b from "./utils/road-config-tool/index.mjs";
12
- import I from "./utils/signal-control-area-controller/index.mjs";
10
+ import D from "./utils/road-config-tool/index.mjs";
11
+ import b from "./utils/signal-control-area-controller/index.mjs";
13
12
  import Je from "./utils/traffic-flow.mjs";
14
- const We = { class: "gis-viewer" }, Xe = { style: { position: "absolute", bottom: "10px", left: "10px" } }, mt = /* @__PURE__ */ xe({
13
+ const Re = { class: "gis-viewer" }, We = { style: { position: "absolute", bottom: "10px", left: "10px" } }, lt = /* @__PURE__ */ He({
15
14
  __name: "gis-map",
16
15
  props: {
17
16
  config: {},
18
17
  assetsRoot: {}
19
18
  },
20
19
  emits: ["mapLoaded", "markerClick", "mapClick"],
21
- setup(M, { expose: _, emit: H }) {
20
+ setup(I, { expose: M, emit: _ }) {
22
21
  const d = O(null);
23
- let s, l, c, o, a, n, p, t, r;
22
+ let o, l, c, s, a, n, p, t, r;
24
23
  const f = O(!1);
25
- Re();
26
- const C = A.useAppDataStore, { countdownPanels: x } = Ke(C);
27
- Pe(async () => {
24
+ $e();
25
+ const H = A.useAppDataStore, h = xe([]);
26
+ Be(async () => {
28
27
  if (!d.value)
29
28
  return;
30
29
  document.addEventListener("keydown", (m) => {
31
30
  m.ctrlKey && m.key === "i" && (f.value = !f.value);
32
31
  });
33
- const e = Be(), { $gisviewerAssetsRoot: u } = e.appContext.config.globalProperties, i = await (await fetch(h.config)).json();
34
- i.assetsRoot = h.assetsRoot || u, C.mapConfig = i, l = new $e(), s = await l.initialize({
32
+ const e = Pe(), { $gisviewerAssetsRoot: u } = e.appContext.config.globalProperties, i = await (await fetch(C.config)).json();
33
+ i.assetsRoot = C.assetsRoot || u, H.mapConfig = i, l = new Ue(), o = await l.initialize({
35
34
  container: d.value,
36
35
  mapConfig: i,
37
- markerClickCallback: (m, S, y, He) => {
38
- w("markerClick", m, S, y, He);
36
+ markerClickCallback: (m, S, w, _e) => {
37
+ y("markerClick", m, S, w, _e);
39
38
  },
40
- mapClickCallback: (m, S, y) => {
41
- w("mapClick", m, S, y);
39
+ mapClickCallback: (m, S, w) => {
40
+ y("mapClick", m, S, w);
42
41
  }
43
- }), a = new T(s), await a.init(), w("mapLoaded");
42
+ }), a = new qe(o, h), await a.init(), y("mapLoaded");
44
43
  }), Ve(() => {
45
- r == null || r.clearSignalControlArea(), t == null || t.clearOpenDrive(), a.clearHoloTrace(), a.clearHoloSignal(), o == null || o.disconnectTrafficFlow();
44
+ r == null || r.clearSignalControlArea(), t == null || t.clearOpenDrive(), a.clearHoloTrace(), a.clearHoloSignal(), s == null || s.disconnectTrafficFlow();
46
45
  });
47
- const P = ze(() => s), B = () => {
46
+ const x = ze(() => o), B = () => {
48
47
  const e = A.useAppDataStore;
49
48
  e.saveTrackLog = !0;
50
- }, V = () => {
49
+ }, P = () => {
51
50
  a.downloadTrackLog();
52
- }, z = async (e) => await l.setMapCenter(e), N = async (e) => await l.setMapCamera(e), Q = async (e) => await l.lookAt(e), j = (e) => l.setLayerVisibility(e), E = (e, u) => l.requestCoordinateTransform(e, u), Z = (e) => {
51
+ }, V = async (e) => await l.setMapCenter(e), z = async (e) => await l.setMapCamera(e), N = async (e) => await l.lookAt(e), Q = (e) => l.setLayerVisibility(e), j = (e, u) => l.requestCoordinateTransform(e, u), E = (e) => {
53
52
  l.cancelCoordinateTransform(e);
54
- }, q = (e) => {
53
+ }, Z = (e) => {
55
54
  l.setMapZoomRange(e);
56
- }, K = (e) => (c || (c = new b(s)), c.showLaneNumber(e)), R = () => {
55
+ }, $ = (e) => (c || (c = new D(o)), c.showLaneNumber(e)), q = () => {
57
56
  c == null || c.clearLaneNumber();
58
- }, U = async (e) => (c || (c = new b(s)), await c.initializeSearch(e)), $ = async () => c == null ? void 0 : c.calCrossIndicatorArea(), G = async () => {
57
+ }, K = async (e) => (c || (c = new D(o)), await c.initializeSearch(e)), U = async () => c == null ? void 0 : c.calCrossIndicatorArea(), G = async () => {
59
58
  }, J = async (e, u) => {
60
- o || (o = new Je(s)), o.connectTrafficFlow(e, u);
61
- }, W = () => {
62
- o == null || o.disconnectTrafficFlow();
63
- }, X = async (e) => {
64
- a || (a = new T(s), await a.init()), a.handleVehicleTraceData(e);
65
- }, Y = () => {
59
+ s || (s = new Je(o)), s.connectTrafficFlow(e, u);
60
+ }, R = () => {
61
+ s == null || s.disconnectTrafficFlow();
62
+ }, W = async (e) => {
63
+ a.handleVehicleTraceData(e);
64
+ }, X = () => {
66
65
  a.clearHoloTrace();
67
- }, F = (e) => {
66
+ }, Y = (e) => {
68
67
  a.setInterpolate(e);
69
- }, ee = async (e) => {
68
+ }, F = async (e) => {
70
69
  await a.handleSignalData(e);
71
- }, te = () => {
70
+ }, ee = () => {
72
71
  a.clearHoloSignal();
72
+ }, te = (e) => {
73
+ s == null || s.toggleTrafficInfo(e), a == null || a.toggleTrafficInfo(e);
73
74
  }, ae = (e) => {
74
- o == null || o.toggleTrafficInfo(e), a == null || a.toggleTrafficInfo(e);
75
- }, ne = (e) => {
76
75
  a == null || a.togglePause(e);
76
+ }, ne = (e) => {
77
+ s == null || s.toggleTrafficObject(e), a == null || a.toggleTrafficObject(e);
77
78
  }, re = (e) => {
78
- o == null || o.toggleTrafficObject(e), a == null || a.toggleTrafficObject(e);
79
- }, oe = (e) => {
80
79
  a == null || a.updatePanelContent(e);
81
- }, se = async (e) => (n || (n = new D(s)), n.addOverlays(e)), ie = (e) => (n || (n = new D(s)), n.addMask(e)), ce = () => {
80
+ }, se = async (e) => (n || (n = new T(o)), n.addOverlays(e)), oe = (e) => (n || (n = new T(o)), n.addMask(e)), ie = () => {
82
81
  n == null || n.removeMask();
83
- }, le = (e) => n == null ? void 0 : n.removeOverlaysByType(e), ue = (e) => n == null ? void 0 : n.removeOverlaysById(e), me = () => n == null ? void 0 : n.removeAllOverlays(), pe = () => {
82
+ }, ce = (e) => n == null ? void 0 : n.removeOverlaysByType(e), le = (e) => n == null ? void 0 : n.removeOverlaysById(e), ue = () => n == null ? void 0 : n.removeAllOverlays(), me = () => {
84
83
  n == null || n.showAllOverlays();
85
- }, ge = (e) => {
86
- p || (p = new Ge(s)), p.updateQueueLength(e);
87
- }, de = () => {
84
+ }, pe = (e) => {
85
+ p || (p = new Ge(o)), p.updateQueueLength(e);
86
+ }, ge = () => {
88
87
  p == null || p.removeQueueLength();
89
- }, fe = async (e, u) => (t || (t = new L(s)), await t.showOpenDriveFromServer(e, u)), we = async (e) => (t || (t = new L(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), Se = async () => await (t == null ? void 0 : t.clearOpenDrive()), ye = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
88
+ }, de = async (e, u) => (t || (t = new L(o)), await t.showOpenDriveFromServer(e, u)), fe = async (e) => (t || (t = new L(o)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), ye = async () => await (t == null ? void 0 : t.clearOpenDrive()), Se = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
90
89
  status: -1,
91
90
  message: "未加载OpenDrive地图"
92
- }, ve = async (e) => t ? t.selectSumo(e) : {
91
+ }, we = async (e) => t ? t.selectSumo(e) : {
93
92
  status: -1,
94
93
  message: "未加载OpenDrive地图"
95
- }, Ce = async (e) => t ? t.unselectSumo(e) : {
94
+ }, ve = async (e) => t ? t.unselectSumo(e) : {
96
95
  status: -1,
97
96
  message: "未加载OpenDrive地图"
98
97
  }, he = async (e) => t ? await t.geometrySearch(e) : {
99
98
  status: -1,
100
99
  message: "未加载OpenDrive地图"
101
- }, Oe = async (e) => t ? await t.getSumoInfo(e) : {
100
+ }, Ce = async (e) => t ? await t.getSumoInfo(e) : {
102
101
  status: -1,
103
102
  message: "未加载OpenDrive地图"
104
- }, ke = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
103
+ }, Oe = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
105
104
  status: -1,
106
105
  message: "未加载OpenDrive地图"
107
- }, Ae = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
106
+ }, ke = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
108
107
  status: -1,
109
108
  message: "未加载OpenDrive地图"
110
- }, Te = (e) => (r || (r = new I(s)), r.showSignalControlArea(e)), Le = () => {
109
+ }, Ae = (e) => (r || (r = new b(o)), r.showSignalControlArea(e)), Le = () => {
111
110
  r == null || r.clearSignalControlArea();
112
- }, De = async (e) => r ? await r.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, be = async (e) => r ? await r.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Ie = () => r ? r.resetHighlight() : { status: -1, message: "未加载信号控制区" }, Me = (e) => (r || (r = new I(s)), r.showSubSignalControlArea(e)), _e = () => r ? r.editSubSignalArea() : { status: -1, message: "未加载信号控制区" }, h = M, w = H;
113
- return _({
114
- mapViewer: P,
115
- setLayerVisibility: j,
116
- setMapCenter: z,
117
- lookAt: Q,
118
- setMapCamera: N,
119
- setMapZoomRange: q,
120
- requestCoordinateTransform: E,
121
- cancelCoordinateTransform: Z,
111
+ }, Te = async (e) => r ? await r.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, De = async (e) => r ? await r.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, be = () => r ? r.resetHighlight() : { status: -1, message: "未加载信号控制区" }, Ie = (e) => (r || (r = new b(o)), r.showSubSignalControlArea(e)), Me = () => r ? r.editSubSignalArea() : { status: -1, message: "未加载信号控制区" }, C = I, y = _;
112
+ return M({
113
+ mapViewer: x,
114
+ setLayerVisibility: Q,
115
+ setMapCenter: V,
116
+ lookAt: N,
117
+ setMapCamera: z,
118
+ setMapZoomRange: Z,
119
+ requestCoordinateTransform: j,
120
+ cancelCoordinateTransform: E,
122
121
  addOverlays: se,
123
- addMask: ie,
124
- removeMask: ce,
125
- showAllOverlays: pe,
126
- removeOverlaysByType: le,
127
- removeOverlaysById: ue,
128
- removeAllOverlays: me,
129
- showLaneNumber: K,
130
- clearLaneNumber: R,
131
- initializeAreaTool: U,
132
- calCrossIndicatorArea: $,
122
+ addMask: oe,
123
+ removeMask: ie,
124
+ showAllOverlays: me,
125
+ removeOverlaysByType: ce,
126
+ removeOverlaysById: le,
127
+ removeAllOverlays: ue,
128
+ showLaneNumber: $,
129
+ clearLaneNumber: q,
130
+ initializeAreaTool: K,
131
+ calCrossIndicatorArea: U,
133
132
  calRoadIndicatorArea: G,
134
133
  connectCarFlow: J,
135
- disconnectCarFlow: W,
136
- handleHoloVehicleTraceData: X,
137
- clearHoloTrace: Y,
138
- handleHoloSignalData: ee,
139
- clearHoloSignal: te,
140
- setInterpolate: F,
141
- toggleTrafficInfo: ae,
142
- toggleTrafficObject: re,
143
- toggleVehicleInfo: oe,
144
- togglePause: ne,
145
- updateQueueLength: ge,
146
- removeQueueLength: de,
147
- showOpenDriveFromServer: fe,
148
- showOpenDriveFromFile: we,
149
- clearOpenDrive: Se,
134
+ disconnectCarFlow: R,
135
+ handleHoloVehicleTraceData: W,
136
+ clearHoloTrace: X,
137
+ handleHoloSignalData: F,
138
+ clearHoloSignal: ee,
139
+ setInterpolate: Y,
140
+ toggleTrafficInfo: te,
141
+ toggleTrafficObject: ne,
142
+ toggleVehicleInfo: re,
143
+ togglePause: ae,
144
+ updateQueueLength: pe,
145
+ removeQueueLength: ge,
146
+ showOpenDriveFromServer: de,
147
+ showOpenDriveFromFile: fe,
148
+ clearOpenDrive: ye,
150
149
  geometrySearchInOpenDrive: he,
151
- findSumoInOpenDrive: ye,
152
- selectSumoInOpenDrive: ve,
153
- unselectSumoInOpenDrive: Ce,
154
- getSumoInfo: Oe,
155
- splitOpenDriveLane: ke,
156
- clearSplitOpenDriveLane: Ae,
157
- showSignalControlArea: Te,
150
+ findSumoInOpenDrive: Se,
151
+ selectSumoInOpenDrive: we,
152
+ unselectSumoInOpenDrive: ve,
153
+ getSumoInfo: Ce,
154
+ splitOpenDriveLane: Oe,
155
+ clearSplitOpenDriveLane: ke,
156
+ showSignalControlArea: Ae,
158
157
  clearSignalControlArea: Le,
159
- locateSignalControlArea: De,
160
- highlightSignalControlArea: be,
161
- resetHighlightSignalControlArea: Ie,
162
- showSubSignalControlArea: Me,
163
- editSubSignalControlArea: _e
164
- }), (e, u) => (v(), k("div", We, [
158
+ locateSignalControlArea: Te,
159
+ highlightSignalControlArea: De,
160
+ resetHighlightSignalControlArea: be,
161
+ showSubSignalControlArea: Ie,
162
+ editSubSignalControlArea: Me
163
+ }), (e, u) => (v(), k("div", Re, [
165
164
  g("div", {
166
165
  class: "gis-viewer-main",
167
166
  ref_key: "mapContainer",
168
167
  ref: d
169
168
  }, [
170
- Ne(g("div", Xe, [
169
+ Ne(g("div", We, [
171
170
  g("button", {
172
171
  style: { "margin-right": "10px" },
173
172
  onClick: B
174
173
  }, " 开始记录 "),
175
- g("button", { onClick: V }, "下载日志")
174
+ g("button", { onClick: P }, "下载日志")
176
175
  ], 512), [
177
176
  [Qe, f.value]
178
177
  ])
179
178
  ], 512),
180
- (v(!0), k(je, null, Ee(Ze(x), (i, m) => (v(), qe(Ue, {
179
+ (v(!0), k(je, null, Ee(h, (i, m) => (v(), Ze(Ke, {
181
180
  key: m,
182
181
  "display-mode": i.displayMode,
183
182
  "road-id": i.crossId,
@@ -193,5 +192,5 @@ const We = { class: "gis-viewer" }, Xe = { style: { position: "absolute", bottom
193
192
  }
194
193
  });
195
194
  export {
196
- mt as default
195
+ lt as default
197
196
  };
@@ -25,7 +25,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
25
25
  isSketching: boolean;
26
26
  countdownPanels: import("../types").ISignalCountdownProps[];
27
27
  }, {}, {}>;
28
- countdownPanelInfos: import("vue").Ref<{
28
+ countdownPanelProps: {
29
29
  displayMode: string;
30
30
  crossId: string;
31
31
  roadId: string;
@@ -47,7 +47,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
47
47
  rNumber?: number | undefined;
48
48
  rColor?: string | undefined;
49
49
  };
50
- }[]>;
50
+ }[];
51
51
  mapViewer: import("vue").ComputedRef<__esri.MapView | __esri.SceneView>;
52
52
  startSaveTrackLog: () => void;
53
53
  downloadTrackLog: () => void;
@@ -11,3 +11,29 @@
11
11
  .esri-view .esri-view-surface:focus::after {
12
12
  outline: none !important;
13
13
  }
14
+ .signal-countdown-panel {
15
+ position: absolute;
16
+ display: flex;
17
+ flex-direction: row;
18
+ padding: 0px;
19
+ margin: 0px;
20
+ }
21
+ .signal-countdown-container {
22
+ margin: 0 1px;
23
+ padding: 0px;
24
+ background-color: rgba(0, 0, 0, 0.8);
25
+ border-style: solid;
26
+ border-color: turquoise;
27
+ border-width: 2px;
28
+ border-radius: 5px;
29
+ color: white;
30
+ width: 40px;
31
+ height: 70px;
32
+ justify-content: center;
33
+ align-items: center;
34
+ display: flex;
35
+ flex-direction: column;
36
+ }
37
+ .signal-countdown-number {
38
+ font: 30px bold;
39
+ }
@@ -0,0 +1,68 @@
1
+ import Graphic from '@arcgis/core/Graphic';
2
+ import GraphicsLayer from '@arcgis/core/layers/GraphicsLayer';
3
+ import MapView from '@arcgis/core/views/MapView';
4
+ import SceneView from '@arcgis/core/views/SceneView';
5
+ interface GreenWaveLineOptions {
6
+ viewer: MapView | SceneView;
7
+ graphicsLayerOptions: {
8
+ id: string;
9
+ };
10
+ }
11
+ interface roadPath {
12
+ paths: [number, number][];
13
+ symbol: any;
14
+ attributes: any;
15
+ visible?: boolean;
16
+ }
17
+ interface animationOptions {
18
+ isAnimation: boolean;
19
+ positive?: boolean;
20
+ positiveColor?: number[];
21
+ negative?: boolean;
22
+ negativeColor?: number[];
23
+ }
24
+ export default class GreenWaveLine {
25
+ private viewer;
26
+ overlayLayer: GraphicsLayer;
27
+ customGreenWaveLineView: any;
28
+ material: THREE.ShaderMaterial;
29
+ renderer: THREE.WebGLRenderer;
30
+ threeScene: THREE.Scene;
31
+ camera: THREE.PerspectiveCamera;
32
+ private defaultAnimationOptions;
33
+ constructor(options: GreenWaveLineOptions);
34
+ addGreenWaveLine(paths: roadPath[], options?: animationOptions): void;
35
+ getAnimationPath(paths: [number, number][], options?: animationOptions): any;
36
+ createLine(paths: any, symbol: any, attributes: any, visible: boolean): Graphic;
37
+ addPointText(points: any[]): void;
38
+ createPointText(point: any, symbol: any, attributes: any, visible: boolean): Graphic;
39
+ /**
40
+ * 隐藏覆盖物
41
+ *
42
+ * @param {string[]} [ids]
43
+ * @memberof GreenWaveLine
44
+ */
45
+ hideWaveLine(ids?: string[]): void;
46
+ /**
47
+ * 显示覆盖物
48
+ *
49
+ * @param {string[]} [ids]
50
+ * @memberof GreenWaveLine
51
+ */
52
+ showWaveLine(ids?: string[]): void;
53
+ /**
54
+ * 隐藏图层
55
+ *
56
+ * @memberof GreenWaveLine
57
+ */
58
+ hideLayer(): void;
59
+ /**
60
+ * 显示图层
61
+ *
62
+ * @memberof Overlay
63
+ */
64
+ showLayer(): void;
65
+ clearGreenWaveLine(): void;
66
+ destroy(): void;
67
+ }
68
+ export {};
@@ -1,9 +1,10 @@
1
- import { IToggleTrafficInfoParams } from '../../../types';
1
+ import { ISignalCountdownProps, IToggleTrafficInfoParams } from '../../../types';
2
2
  export default class Index {
3
3
  private readonly view;
4
4
  private traceHoloFlow;
5
5
  private signalHoloFlow;
6
- constructor(view: __esri.MapView | __esri.SceneView);
6
+ private signalCountdownPanelProps;
7
+ constructor(view: __esri.MapView | __esri.SceneView, signalCountdownPanelProps: ISignalCountdownProps[]);
7
8
  init(): Promise<void>;
8
9
  /**
9
10
  * 处理全息流轨迹数据
@@ -1,12 +1,12 @@
1
1
  import { toRaw as i } from "vue";
2
2
  import { EVehiclePlateState as a } from "../../../types/index.mjs";
3
- import r from "../../stores/index.mjs";
3
+ import n from "../../stores/index.mjs";
4
4
  import s from "./signal-holo-flow.mjs";
5
- import n from "./signal-holo-flow-lsr.mjs";
5
+ import r from "./signal-holo-flow-lsr.mjs";
6
6
  import c from "./trace-holo-flow.mjs";
7
7
  class m {
8
- constructor(o) {
9
- this.view = o;
8
+ constructor(o, e) {
9
+ this.view = o, this.signalCountdownPanelProps = e;
10
10
  }
11
11
  async init() {
12
12
  this.traceHoloFlow = new c(this.view), await this.traceHoloFlow.init();
@@ -60,8 +60,11 @@ class m {
60
60
  async handleSignalData(o) {
61
61
  var e, l;
62
62
  if (!this.signalHoloFlow) {
63
- const t = r.useAppDataStore;
64
- ((l = (e = i(t.mapConfig).holoFlow) == null ? void 0 : e.signal) == null ? void 0 : l.style) === "LSR" ? this.signalHoloFlow = new n(this.view) : this.signalHoloFlow = new s(this.view), await this.signalHoloFlow.initializeLayer();
63
+ const t = n.useAppDataStore;
64
+ ((l = (e = i(t.mapConfig).holoFlow) == null ? void 0 : e.signal) == null ? void 0 : l.style) === "LSR" ? this.signalHoloFlow = new r(
65
+ this.view,
66
+ this.signalCountdownPanelProps
67
+ ) : this.signalHoloFlow = new s(this.view), await this.signalHoloFlow.initializeLayer();
65
68
  }
66
69
  await this.signalHoloFlow.handleSignalData(o);
67
70
  }
@@ -1,7 +1,122 @@
1
- import o from "./signal-countdown-panel.vue2.mjs";
2
- import "./signal-countdown-panel.vue3.mjs";
3
- import t from "../../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-f1172941"]]);
1
+ import { defineComponent as C, computed as o, openBlock as l, createElementBlock as a, normalizeStyle as n, createElementVNode as s, toDisplayString as i, createCommentVNode as u } from "vue";
2
+ const b = {
3
+ key: 0,
4
+ class: "signal-countdown-container"
5
+ }, _ = ["src"], I = {
6
+ key: 1,
7
+ class: "signal-countdown-container"
8
+ }, N = ["src"], f = {
9
+ key: 2,
10
+ class: "signal-countdown-container"
11
+ }, $ = ["src"], k = {
12
+ key: 3,
13
+ class: "signal-countdown-container"
14
+ }, V = ["src"], A = /* @__PURE__ */ C({
15
+ __name: "signal-countdown-panel",
16
+ props: {
17
+ displayMode: {},
18
+ crossId: {},
19
+ roadId: {},
20
+ mapPoint: {},
21
+ stopLine: {},
22
+ scale: {},
23
+ position: {},
24
+ rotation: {},
25
+ lampStatus: {}
26
+ },
27
+ setup(c) {
28
+ const t = c, m = o(() => ({
29
+ top: `${t.position.top}px`,
30
+ left: `${t.position.left}px`,
31
+ "transform-origin": "bottom center",
32
+ transform: `translateX(-50%) translateY(-100%) rotate(${t.rotation}deg) scale(${t.scale})`
33
+ })), p = o(
34
+ () => `/GisViewerAssets/Images/SignalLamp/u-${t.lampStatus.uColor}.png`
35
+ ), d = o(() => ({
36
+ color: r(t.lampStatus.uColor)
37
+ })), g = o(
38
+ () => `/GisViewerAssets/Images/SignalLamp/l-${t.lampStatus.lColor}.png`
39
+ ), S = o(() => ({
40
+ color: r(t.lampStatus.lColor)
41
+ })), h = o(
42
+ () => `/GisViewerAssets/Images/SignalLamp/s-${t.lampStatus.sColor}.png`
43
+ ), v = o(() => ({
44
+ color: r(t.lampStatus.sColor)
45
+ })), w = o(
46
+ () => `/GisViewerAssets/Images/SignalLamp/r-${t.lampStatus.rColor}.png`
47
+ ), y = o(() => ({
48
+ color: r(t.lampStatus.rColor)
49
+ })), r = (e) => {
50
+ switch (e) {
51
+ case "red":
52
+ return "red";
53
+ case "yellow":
54
+ return "rgb(255, 192, 2)";
55
+ case "green":
56
+ return "lime";
57
+ default:
58
+ return "white";
59
+ }
60
+ };
61
+ return (e, L) => (l(), a("div", {
62
+ class: "signal-countdown-panel",
63
+ style: n(m.value)
64
+ }, [
65
+ e.lampStatus.uColor ? (l(), a("div", b, [
66
+ s("div", {
67
+ class: "signal-countdown-number",
68
+ style: n(d.value)
69
+ }, i(e.lampStatus.uNumber), 5),
70
+ s("div", null, [
71
+ s("img", {
72
+ src: p.value,
73
+ width: "20px",
74
+ height: "20px"
75
+ }, null, 8, _)
76
+ ])
77
+ ])) : u("", !0),
78
+ e.lampStatus.lColor ? (l(), a("div", I, [
79
+ s("div", {
80
+ class: "signal-countdown-number",
81
+ style: n(S.value)
82
+ }, i(e.lampStatus.lNumber), 5),
83
+ s("div", null, [
84
+ s("img", {
85
+ src: g.value,
86
+ width: "20px",
87
+ height: "20px"
88
+ }, null, 8, N)
89
+ ])
90
+ ])) : u("", !0),
91
+ e.lampStatus.sColor ? (l(), a("div", f, [
92
+ s("div", {
93
+ class: "signal-countdown-number",
94
+ style: n(v.value)
95
+ }, i(e.lampStatus.sNumber), 5),
96
+ s("div", null, [
97
+ s("img", {
98
+ src: h.value,
99
+ width: "20px",
100
+ height: "20px"
101
+ }, null, 8, $)
102
+ ])
103
+ ])) : u("", !0),
104
+ e.lampStatus.rColor !== void 0 ? (l(), a("div", k, [
105
+ s("div", {
106
+ class: "signal-countdown-number",
107
+ style: n(y.value)
108
+ }, i(e.lampStatus.rNumber), 5),
109
+ s("div", null, [
110
+ s("img", {
111
+ src: w.value,
112
+ width: "20px",
113
+ height: "20px"
114
+ }, null, 8, V)
115
+ ])
116
+ ])) : u("", !0)
117
+ ], 4));
118
+ }
119
+ });
5
120
  export {
6
- m as default
121
+ A as default
7
122
  };