gisviewer-vue3-arcgis 1.0.165 → 1.0.166

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 (38) hide show
  1. package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
  2. package/es/src/gis-map/gis-map.vue.d.ts +111 -0
  3. package/es/src/gis-map/gis-map.vue.mjs +135 -124
  4. package/es/src/gis-map/index.d.ts +111 -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 +6 -6
  8. package/es/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.d.ts +85 -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 +120 -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 +13 -0
  13. package/es/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +95 -35
  14. package/es/src/gis-map/utils/holo-flow/trace-renderer-layer.mjs +102 -99
  15. package/es/src/gis-map/utils/map-initializer.mjs +54 -45
  16. package/es/src/gis-map/utils/open-drive-renderer/index.mjs +10 -10
  17. package/es/src/gis-map/utils/traffic-flow.mjs +5 -4
  18. package/es/src/types/index.d.ts +21 -0
  19. package/es/style.css +1 -1
  20. package/lib/_virtual/_plugin-vue_export-helper.js +1 -0
  21. package/lib/src/gis-map/gis-map.vue.d.ts +111 -0
  22. package/lib/src/gis-map/gis-map.vue.js +1 -1
  23. package/lib/src/gis-map/index.d.ts +111 -0
  24. package/lib/src/gis-map/stores/appData.d.ts +2 -0
  25. package/lib/src/gis-map/stores/appData.js +1 -1
  26. package/lib/src/gis-map/utils/common-utils.js +1 -1
  27. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.d.ts +85 -0
  28. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue.js +1 -0
  29. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue2.js +1 -0
  30. package/lib/src/gis-map/utils/holo-flow/signal-countdown-panel.vue3.js +1 -0
  31. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.d.ts +13 -0
  32. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +1 -1
  33. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -1
  34. package/lib/src/gis-map/utils/map-initializer.js +1 -1
  35. package/lib/src/gis-map/utils/open-drive-renderer/index.js +1 -1
  36. package/lib/src/gis-map/utils/traffic-flow.js +1 -1
  37. package/lib/src/types/index.d.ts +21 -0
  38. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ const s = (t, e) => {
2
+ const o = t.__vccOpts || t;
3
+ for (const [r, c] of e)
4
+ o[r] = c;
5
+ return o;
6
+ };
7
+ export {
8
+ s as default
9
+ };
@@ -29,6 +29,33 @@ declare const _sfc_main: import("vue").DefineComponent<{
29
29
  queueLength: QueueLength;
30
30
  openDriveRenderer: OpenDriveRenderer;
31
31
  signalControlAreaController: SignalControlAreaController;
32
+ appDataStore: import("pinia").Store<"appData", {
33
+ mapConfig: {};
34
+ saveTrackLog: boolean;
35
+ isSketching: boolean;
36
+ countdownPanels: import("../types").ISignalCountdownProps[];
37
+ }, {}, {}>;
38
+ countdownPanelInfos: import("vue").Ref<{
39
+ crossId: string;
40
+ roadId: string;
41
+ mapPoint: number[];
42
+ stopLine: number[][];
43
+ position: {
44
+ left: number;
45
+ top: number;
46
+ };
47
+ rotation: number;
48
+ lampStatus: {
49
+ uNumber?: number | undefined;
50
+ uColor?: string | undefined;
51
+ lNumber?: number | undefined;
52
+ lColor?: string | undefined;
53
+ sNumber?: number | undefined;
54
+ sColor?: string | undefined;
55
+ rNumber?: number | undefined;
56
+ rColor?: string | undefined;
57
+ };
58
+ }[]>;
32
59
  showLogDiv: import("vue").Ref<boolean>;
33
60
  mapViewer: import("vue").ComputedRef<MapView | SceneView>;
34
61
  startSaveTrackLog: () => void;
@@ -95,6 +122,90 @@ declare const _sfc_main: import("vue").DefineComponent<{
95
122
  resetHighlightSignalControlArea: () => import("../types").IResult;
96
123
  props: any;
97
124
  emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
125
+ SignalCountdownPanel: import("vue").DefineComponent<{
126
+ crossId: {
127
+ type: StringConstructor;
128
+ required: true;
129
+ };
130
+ roadId: {
131
+ type: StringConstructor;
132
+ required: true;
133
+ };
134
+ mapPoint: {
135
+ type: ArrayConstructor;
136
+ required: true;
137
+ };
138
+ stopLine: {
139
+ type: ArrayConstructor;
140
+ required: true;
141
+ };
142
+ position: {
143
+ type: ObjectConstructor;
144
+ required: true;
145
+ };
146
+ rotation: {
147
+ type: NumberConstructor;
148
+ required: true;
149
+ };
150
+ lampStatus: {
151
+ type: ObjectConstructor;
152
+ required: true;
153
+ };
154
+ }, {
155
+ props: any;
156
+ panelStyle: import("vue").ComputedRef<{
157
+ top: string;
158
+ left: string;
159
+ 'transform-origin': string;
160
+ transform: string;
161
+ }>;
162
+ uImage: import("vue").ComputedRef<string>;
163
+ uNumberStyle: import("vue").ComputedRef<{
164
+ color: string;
165
+ }>;
166
+ lImage: import("vue").ComputedRef<string>;
167
+ lNumberStyle: import("vue").ComputedRef<{
168
+ color: string;
169
+ }>;
170
+ sImage: import("vue").ComputedRef<string>;
171
+ sNumberStyle: import("vue").ComputedRef<{
172
+ color: string;
173
+ }>;
174
+ rImage: import("vue").ComputedRef<string>;
175
+ rNumberStyle: import("vue").ComputedRef<{
176
+ color: string;
177
+ }>;
178
+ getColorString: (color: string | undefined) => "red" | "yellow" | "lime" | "white";
179
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
180
+ crossId: {
181
+ type: StringConstructor;
182
+ required: true;
183
+ };
184
+ roadId: {
185
+ type: StringConstructor;
186
+ required: true;
187
+ };
188
+ mapPoint: {
189
+ type: ArrayConstructor;
190
+ required: true;
191
+ };
192
+ stopLine: {
193
+ type: ArrayConstructor;
194
+ required: true;
195
+ };
196
+ position: {
197
+ type: ObjectConstructor;
198
+ required: true;
199
+ };
200
+ rotation: {
201
+ type: NumberConstructor;
202
+ required: true;
203
+ };
204
+ lampStatus: {
205
+ type: ObjectConstructor;
206
+ required: true;
207
+ };
208
+ }>>, {}, {}>;
98
209
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick")[], "mapLoaded" | "markerClick" | "mapClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
99
210
  config: {
100
211
  type: StringConstructor;
@@ -1,180 +1,191 @@
1
- import { defineComponent as Le, ref as S, onMounted as Ae, getCurrentInstance as Ie, onUnmounted as be, computed as Me, openBlock as _e, createElementBlock as He, createElementVNode as p, withDirectives as xe, vShow as Ve } from "vue";
2
- import O, { registerStore as Be } from "./stores/index.mjs";
1
+ import { defineComponent as be, ref as C, onMounted as Me, getCurrentInstance as _e, onUnmounted as He, computed as xe, openBlock as S, createElementBlock as k, createElementVNode as g, withDirectives as Pe, vShow as Be, Fragment as Ve, renderList as ze, unref as Ne, createBlock as Qe } from "vue";
2
+ import { storeToRefs as je } from "pinia";
3
+ import T, { registerStore as Ee } from "./stores/index.mjs";
3
4
  import "./style/index.css";
4
- import ze from "./utils/holo-flow/index.mjs";
5
- import Ne from "./utils/map-initializer.mjs";
6
- import C from "./utils/open-drive-renderer/index.mjs";
7
- import k from "./utils/overlay.mjs";
8
- import Qe from "./utils/queue-length.mjs";
9
- import T from "./utils/road-config-tool/index.mjs";
10
- import je from "./utils/signal-control-area-controller/index.mjs";
11
- import Pe from "./utils/traffic-flow.mjs";
12
- const Ee = { class: "gis-viewer" }, Fe = { style: { position: "absolute", bottom: "10px", left: "10px" } }, et = /* @__PURE__ */ Le({
5
+ import Fe from "./utils/holo-flow/index.mjs";
6
+ import Ze from "./utils/holo-flow/signal-countdown-panel.vue.mjs";
7
+ import qe from "./utils/map-initializer.mjs";
8
+ import L from "./utils/open-drive-renderer/index.mjs";
9
+ import D from "./utils/overlay.mjs";
10
+ import Ke from "./utils/queue-length.mjs";
11
+ import A from "./utils/road-config-tool/index.mjs";
12
+ import Re from "./utils/signal-control-area-controller/index.mjs";
13
+ import Ue from "./utils/traffic-flow.mjs";
14
+ const $e = { class: "gis-viewer" }, Ge = { style: { position: "absolute", bottom: "10px", left: "10px" } }, lt = /* @__PURE__ */ be({
13
15
  __name: "gis-map",
14
16
  props: {
15
17
  config: {},
16
18
  assetsRoot: {}
17
19
  },
18
20
  emits: ["mapLoaded", "markerClick", "mapClick"],
19
- setup(D, { expose: L, emit: A }) {
20
- const g = S(null);
21
- let s, c, i, r, n, a, u, t, o;
22
- const f = S(!1);
23
- Ae(async () => {
24
- if (Be(), !g.value)
21
+ setup(I, { expose: b, emit: M }) {
22
+ const f = C(null);
23
+ let s, l, i, r, n, a, p, t, o;
24
+ Ee();
25
+ const h = T.useAppDataStore, { countdownPanels: _ } = je(h), d = C(!1);
26
+ Me(async () => {
27
+ if (!f.value)
25
28
  return;
26
29
  document.addEventListener("keydown", (m) => {
27
- m.ctrlKey && m.key === "i" && (f.value = !f.value);
30
+ m.ctrlKey && m.key === "i" && (d.value = !d.value);
28
31
  });
29
- const e = Ie(), { $gisviewerAssetsRoot: l } = e.appContext.config.globalProperties, h = await (await fetch(y.config)).json();
30
- h.assetsRoot = y.assetsRoot || l;
31
- const Te = O.useAppDataStore;
32
- Te.mapConfig = h, c = new Ne(), s = await c.initialize({
33
- container: g.value,
34
- markerClickCallback: (m, d, v, De) => {
35
- w("markerClick", m, d, v, De);
32
+ const e = _e(), { $gisviewerAssetsRoot: u } = e.appContext.config.globalProperties, c = await (await fetch(O.config)).json();
33
+ c.assetsRoot = O.assetsRoot || u, h.mapConfig = c, l = new qe(), s = await l.initialize({
34
+ container: f.value,
35
+ markerClickCallback: (m, y, v, Ie) => {
36
+ w("markerClick", m, y, v, Ie);
36
37
  },
37
- mapClickCallback: (m, d, v) => {
38
- w("mapClick", m, d, v);
38
+ mapClickCallback: (m, y, v) => {
39
+ w("mapClick", m, y, v);
39
40
  }
40
- }), n = new ze(s), await n.init(), w("mapLoaded");
41
- }), be(() => {
41
+ }), n = new Fe(s), await n.init(), w("mapLoaded");
42
+ }), He(() => {
42
43
  o == null || o.clearSignalControlArea(), t == null || t.clearOpenDrive(), n == null || n.clearHoloTrace(), n == null || n.clearHoloSignal(), r == null || r.disconnectTrafficFlow();
43
44
  });
44
- const I = Me(() => s), b = () => {
45
- const e = O.useAppDataStore;
45
+ const H = xe(() => s), x = () => {
46
+ const e = T.useAppDataStore;
46
47
  e.saveTrackLog = !0;
47
- }, M = () => {
48
+ }, P = () => {
48
49
  n.downloadTrackLog();
49
- }, _ = async (e) => await c.setMapCenter(e), H = async (e) => await c.setMapCamera(e), x = async (e) => await c.lookAt(e), V = (e) => c.setLayerVisibility(e), B = (e, l) => c.requestCoordinateTransform(e, l), z = (e) => {
50
- c.cancelCoordinateTransform(e);
51
- }, N = (e) => {
52
- c.setMapZoomRange(e);
53
- }, Q = (e) => (i || (i = new T(s)), i.showLaneNumber(e)), j = () => {
50
+ }, B = async (e) => await l.setMapCenter(e), V = async (e) => await l.setMapCamera(e), z = async (e) => await l.lookAt(e), N = (e) => l.setLayerVisibility(e), Q = (e, u) => l.requestCoordinateTransform(e, u), j = (e) => {
51
+ l.cancelCoordinateTransform(e);
52
+ }, E = (e) => {
53
+ l.setMapZoomRange(e);
54
+ }, F = (e) => (i || (i = new A(s)), i.showLaneNumber(e)), Z = () => {
54
55
  i == null || i.clearLaneNumber();
55
- }, P = async (e) => (i || (i = new T(s)), await i.initializeSearch(e)), E = async () => i == null ? void 0 : i.calCrossIndicatorArea(), F = async () => {
56
- }, Z = async (e, l) => {
57
- r || (r = new Pe(s)), r.connectTrafficFlow(e, l);
58
- }, q = () => {
56
+ }, q = async (e) => (i || (i = new A(s)), await i.initializeSearch(e)), K = async () => i == null ? void 0 : i.calCrossIndicatorArea(), R = async () => {
57
+ }, U = async (e, u) => {
58
+ r || (r = new Ue(s)), r.connectTrafficFlow(e, u);
59
+ }, $ = () => {
59
60
  r == null || r.disconnectTrafficFlow();
60
- }, K = (e) => {
61
+ }, G = (e) => {
61
62
  n.handleVehicleTraceData(e);
62
- }, U = () => {
63
+ }, J = () => {
63
64
  n.clearHoloTrace();
64
- }, $ = (e) => {
65
+ }, W = (e) => {
65
66
  n.setInterpolate(e);
66
- }, G = async (e) => {
67
+ }, X = async (e) => {
67
68
  await n.handleSignalData(e);
68
- }, J = () => {
69
+ }, Y = () => {
69
70
  n.clearHoloSignal();
70
- }, R = (e) => {
71
+ }, ee = (e) => {
71
72
  r == null || r.toggleTrafficInfo(e), n.toggleTrafficInfo(e);
72
- }, W = (e) => {
73
+ }, te = (e) => {
73
74
  n.togglePause(e);
74
- }, X = (e) => {
75
+ }, ae = (e) => {
75
76
  r == null || r.toggleTrafficObject(e), n.toggleTrafficObject(e);
76
- }, Y = (e) => {
77
+ }, ne = (e) => {
77
78
  n.updatePanelContent(e);
78
- }, ee = async (e) => (a || (a = new k(s)), a.addOverlays(e)), te = (e) => (a || (a = new k(s)), a.addMask(e)), ae = () => {
79
+ }, re = async (e) => (a || (a = new D(s)), a.addOverlays(e)), oe = (e) => (a || (a = new D(s)), a.addMask(e)), se = () => {
79
80
  a == null || a.removeMask();
80
- }, ne = (e) => a == null ? void 0 : a.removeOverlaysByType(e), re = (e) => a == null ? void 0 : a.removeOverlaysById(e), oe = () => a == null ? void 0 : a.removeAllOverlays(), se = () => {
81
+ }, ie = (e) => a == null ? void 0 : a.removeOverlaysByType(e), ce = (e) => a == null ? void 0 : a.removeOverlaysById(e), le = () => a == null ? void 0 : a.removeAllOverlays(), ue = () => {
81
82
  a == null || a.showAllOverlays();
82
- }, ie = (e) => {
83
- u || (u = new Qe(s)), u.updateQueueLength(e);
84
- }, ce = () => {
85
- u == null || u.removeQueueLength();
86
- }, le = async (e, l) => (t || (t = new C(s)), await t.showOpenDriveFromServer(e, l)), ue = async (e) => (t || (t = new C(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), me = async () => await (t == null ? void 0 : t.clearOpenDrive()), pe = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
83
+ }, me = (e) => {
84
+ p || (p = new Ke(s)), p.updateQueueLength(e);
85
+ }, pe = () => {
86
+ p == null || p.removeQueueLength();
87
+ }, ge = async (e, u) => (t || (t = new L(s)), await t.showOpenDriveFromServer(e, u)), fe = async (e) => (t || (t = new L(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), de = async () => await (t == null ? void 0 : t.clearOpenDrive()), we = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
87
88
  status: -1,
88
89
  message: "未加载OpenDrive地图"
89
- }, ge = async (e) => t ? t.selectSumo(e) : {
90
+ }, ye = async (e) => t ? t.selectSumo(e) : {
90
91
  status: -1,
91
92
  message: "未加载OpenDrive地图"
92
- }, fe = async (e) => t ? t.unselectSumo(e) : {
93
+ }, ve = async (e) => t ? t.unselectSumo(e) : {
93
94
  status: -1,
94
95
  message: "未加载OpenDrive地图"
95
- }, we = async (e) => t ? await t.geometrySearch(e) : {
96
+ }, Se = async (e) => t ? await t.geometrySearch(e) : {
96
97
  status: -1,
97
98
  message: "未加载OpenDrive地图"
98
- }, de = async (e) => t ? await t.getSumoInfo(e) : {
99
+ }, he = async (e) => t ? await t.getSumoInfo(e) : {
99
100
  status: -1,
100
101
  message: "未加载OpenDrive地图"
101
- }, ve = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
102
+ }, Oe = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
102
103
  status: -1,
103
104
  message: "未加载OpenDrive地图"
104
- }, ye = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
105
+ }, Ce = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
105
106
  status: -1,
106
107
  message: "未加载OpenDrive地图"
107
- }, he = async (e) => (o || (o = new je(s)), await o.showSignalControlArea(e)), Se = () => {
108
+ }, ke = async (e) => (o || (o = new Re(s)), await o.showSignalControlArea(e)), Te = () => {
108
109
  o == null || o.clearSignalControlArea();
109
- }, Oe = async (e) => o ? await o.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Ce = async (e) => o ? await o.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, ke = () => o ? o.resetHighlight() : { status: -1, message: "未加载信号控制区" }, y = D, w = A;
110
- return L({
111
- mapViewer: I,
112
- setLayerVisibility: V,
113
- setMapCenter: _,
114
- lookAt: x,
115
- setMapCamera: H,
116
- setMapZoomRange: N,
117
- requestCoordinateTransform: B,
118
- cancelCoordinateTransform: z,
119
- addOverlays: ee,
120
- addMask: te,
121
- removeMask: ae,
122
- showAllOverlays: se,
123
- removeOverlaysByType: ne,
124
- removeOverlaysById: re,
125
- removeAllOverlays: oe,
126
- showLaneNumber: Q,
127
- clearLaneNumber: j,
128
- initializeAreaTool: P,
129
- calCrossIndicatorArea: E,
130
- calRoadIndicatorArea: F,
131
- connectCarFlow: Z,
132
- disconnectCarFlow: q,
133
- handleHoloVehicleTraceData: K,
134
- clearHoloTrace: U,
135
- handleHoloSignalData: G,
136
- clearHoloSignal: J,
137
- setInterpolate: $,
138
- toggleTrafficInfo: R,
139
- toggleTrafficObject: X,
140
- toggleVehicleInfo: Y,
141
- togglePause: W,
142
- updateQueueLength: ie,
143
- removeQueueLength: ce,
144
- showOpenDriveFromServer: le,
145
- showOpenDriveFromFile: ue,
146
- clearOpenDrive: me,
147
- geometrySearchInOpenDrive: we,
148
- findSumoInOpenDrive: pe,
149
- selectSumoInOpenDrive: ge,
150
- unselectSumoInOpenDrive: fe,
151
- getSumoInfo: de,
152
- splitOpenDriveLane: ve,
153
- clearSplitOpenDriveLane: ye,
154
- showSignalControlArea: he,
155
- clearSignalControlArea: Se,
156
- locateSignalControlArea: Oe,
157
- highlightSignalControlArea: Ce,
158
- resetHighlightSignalControlArea: ke
159
- }), (e, l) => (_e(), He("div", Ee, [
160
- p("div", {
110
+ }, Le = async (e) => o ? await o.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, De = async (e) => o ? await o.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Ae = () => o ? o.resetHighlight() : { status: -1, message: "未加载信号控制区" }, O = I, w = M;
111
+ return b({
112
+ mapViewer: H,
113
+ setLayerVisibility: N,
114
+ setMapCenter: B,
115
+ lookAt: z,
116
+ setMapCamera: V,
117
+ setMapZoomRange: E,
118
+ requestCoordinateTransform: Q,
119
+ cancelCoordinateTransform: j,
120
+ addOverlays: re,
121
+ addMask: oe,
122
+ removeMask: se,
123
+ showAllOverlays: ue,
124
+ removeOverlaysByType: ie,
125
+ removeOverlaysById: ce,
126
+ removeAllOverlays: le,
127
+ showLaneNumber: F,
128
+ clearLaneNumber: Z,
129
+ initializeAreaTool: q,
130
+ calCrossIndicatorArea: K,
131
+ calRoadIndicatorArea: R,
132
+ connectCarFlow: U,
133
+ disconnectCarFlow: $,
134
+ handleHoloVehicleTraceData: G,
135
+ clearHoloTrace: J,
136
+ handleHoloSignalData: X,
137
+ clearHoloSignal: Y,
138
+ setInterpolate: W,
139
+ toggleTrafficInfo: ee,
140
+ toggleTrafficObject: ae,
141
+ toggleVehicleInfo: ne,
142
+ togglePause: te,
143
+ updateQueueLength: me,
144
+ removeQueueLength: pe,
145
+ showOpenDriveFromServer: ge,
146
+ showOpenDriveFromFile: fe,
147
+ clearOpenDrive: de,
148
+ geometrySearchInOpenDrive: Se,
149
+ findSumoInOpenDrive: we,
150
+ selectSumoInOpenDrive: ye,
151
+ unselectSumoInOpenDrive: ve,
152
+ getSumoInfo: he,
153
+ splitOpenDriveLane: Oe,
154
+ clearSplitOpenDriveLane: Ce,
155
+ showSignalControlArea: ke,
156
+ clearSignalControlArea: Te,
157
+ locateSignalControlArea: Le,
158
+ highlightSignalControlArea: De,
159
+ resetHighlightSignalControlArea: Ae
160
+ }), (e, u) => (S(), k("div", $e, [
161
+ g("div", {
161
162
  class: "gis-viewer-main",
162
163
  ref_key: "mapContainer",
163
- ref: g
164
+ ref: f
164
165
  }, [
165
- xe(p("div", Fe, [
166
- p("button", {
166
+ Pe(g("div", Ge, [
167
+ g("button", {
167
168
  style: { "margin-right": "10px" },
168
- onClick: b
169
+ onClick: x
169
170
  }, " 开始记录 "),
170
- p("button", { onClick: M }, "下载日志")
171
+ g("button", { onClick: P }, "下载日志")
171
172
  ], 512), [
172
- [Ve, f.value]
173
+ [Be, d.value]
173
174
  ])
174
- ], 512)
175
+ ], 512),
176
+ (S(!0), k(Ve, null, ze(Ne(_), (c, m) => (S(), Qe(Ze, {
177
+ key: m,
178
+ "road-id": c.crossId,
179
+ "cross-id": c.roadId,
180
+ "map-point": c.mapPoint,
181
+ "stop-line": c.stopLine,
182
+ position: c.position,
183
+ rotation: c.rotation,
184
+ "lamp-status": c.lampStatus
185
+ }, null, 8, ["road-id", "cross-id", "map-point", "stop-line", "position", "rotation", "lamp-status"]))), 128))
175
186
  ]));
176
187
  }
177
188
  });
178
189
  export {
179
- et as default
190
+ lt as default
180
191
  };
@@ -18,6 +18,33 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
18
18
  queueLength: import("./utils/queue-length").default;
19
19
  openDriveRenderer: import("./utils/open-drive-renderer").default;
20
20
  signalControlAreaController: import("./utils/signal-control-area-controller").default;
21
+ appDataStore: import("pinia").Store<"appData", {
22
+ mapConfig: {};
23
+ saveTrackLog: boolean;
24
+ isSketching: boolean;
25
+ countdownPanels: import("../types").ISignalCountdownProps[];
26
+ }, {}, {}>;
27
+ countdownPanelInfos: import("vue").Ref<{
28
+ crossId: string;
29
+ roadId: string;
30
+ mapPoint: number[];
31
+ stopLine: number[][];
32
+ position: {
33
+ left: number;
34
+ top: number;
35
+ };
36
+ rotation: number;
37
+ lampStatus: {
38
+ uNumber?: number | undefined;
39
+ uColor?: string | undefined;
40
+ lNumber?: number | undefined;
41
+ lColor?: string | undefined;
42
+ sNumber?: number | undefined;
43
+ sColor?: string | undefined;
44
+ rNumber?: number | undefined;
45
+ rColor?: string | undefined;
46
+ };
47
+ }[]>;
21
48
  showLogDiv: import("vue").Ref<boolean>;
22
49
  mapViewer: import("vue").ComputedRef<__esri.MapView | __esri.SceneView>;
23
50
  startSaveTrackLog: () => void;
@@ -84,6 +111,90 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
84
111
  resetHighlightSignalControlArea: () => import("../types").IResult;
85
112
  props: any;
86
113
  emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
114
+ SignalCountdownPanel: import("vue").DefineComponent<{
115
+ crossId: {
116
+ type: StringConstructor;
117
+ required: true;
118
+ };
119
+ roadId: {
120
+ type: StringConstructor;
121
+ required: true;
122
+ };
123
+ mapPoint: {
124
+ type: ArrayConstructor;
125
+ required: true;
126
+ };
127
+ stopLine: {
128
+ type: ArrayConstructor;
129
+ required: true;
130
+ };
131
+ position: {
132
+ type: ObjectConstructor;
133
+ required: true;
134
+ };
135
+ rotation: {
136
+ type: NumberConstructor;
137
+ required: true;
138
+ };
139
+ lampStatus: {
140
+ type: ObjectConstructor;
141
+ required: true;
142
+ };
143
+ }, {
144
+ props: any;
145
+ panelStyle: import("vue").ComputedRef<{
146
+ top: string;
147
+ left: string;
148
+ 'transform-origin': string;
149
+ transform: string;
150
+ }>;
151
+ uImage: import("vue").ComputedRef<string>;
152
+ uNumberStyle: import("vue").ComputedRef<{
153
+ color: string;
154
+ }>;
155
+ lImage: import("vue").ComputedRef<string>;
156
+ lNumberStyle: import("vue").ComputedRef<{
157
+ color: string;
158
+ }>;
159
+ sImage: import("vue").ComputedRef<string>;
160
+ sNumberStyle: import("vue").ComputedRef<{
161
+ color: string;
162
+ }>;
163
+ rImage: import("vue").ComputedRef<string>;
164
+ rNumberStyle: import("vue").ComputedRef<{
165
+ color: string;
166
+ }>;
167
+ getColorString: (color: string | undefined) => "red" | "yellow" | "lime" | "white";
168
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
169
+ crossId: {
170
+ type: StringConstructor;
171
+ required: true;
172
+ };
173
+ roadId: {
174
+ type: StringConstructor;
175
+ required: true;
176
+ };
177
+ mapPoint: {
178
+ type: ArrayConstructor;
179
+ required: true;
180
+ };
181
+ stopLine: {
182
+ type: ArrayConstructor;
183
+ required: true;
184
+ };
185
+ position: {
186
+ type: ObjectConstructor;
187
+ required: true;
188
+ };
189
+ rotation: {
190
+ type: NumberConstructor;
191
+ required: true;
192
+ };
193
+ lampStatus: {
194
+ type: ObjectConstructor;
195
+ required: true;
196
+ };
197
+ }>>, {}, {}>;
87
198
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick")[], "mapLoaded" | "markerClick" | "mapClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
88
199
  config: {
89
200
  type: StringConstructor;
@@ -1,5 +1,7 @@
1
+ import { ISignalCountdownProps } from '../../types';
1
2
  export declare const useAppDataStore: import("pinia").StoreDefinition<"appData", {
2
3
  mapConfig: {};
3
4
  saveTrackLog: boolean;
4
5
  isSketching: boolean;
6
+ countdownPanels: ISignalCountdownProps[];
5
7
  }, {}, {}>;
@@ -3,8 +3,10 @@ const t = a("appData", {
3
3
  state: () => ({
4
4
  mapConfig: {},
5
5
  saveTrackLog: !1,
6
- isSketching: !1
7
- })
6
+ isSketching: !1,
7
+ countdownPanels: []
8
+ }),
9
+ actions: {}
8
10
  });
9
11
  export {
10
12
  t as useAppDataStore
@@ -1,4 +1,4 @@
1
- import { Point as L, Polyline as f } from "@arcgis/core/geometry";
1
+ import { Point as P, Polyline as f } from "@arcgis/core/geometry";
2
2
  import * as g from "@arcgis/core/geometry/geometryEngineAsync";
3
3
  import * as l from "@arcgis/core/geometry/support/webMercatorUtils";
4
4
  import p from "@turf/bearing";
@@ -20,7 +20,7 @@ class s {
20
20
  const r = a.point([t.x, t.y]), i = u(r, n, e, {
21
21
  units: "meters"
22
22
  });
23
- return new L({
23
+ return new P({
24
24
  x: i.geometry.coordinates[0],
25
25
  y: i.geometry.coordinates[1]
26
26
  });
@@ -42,12 +42,12 @@ class s {
42
42
  static extendLineInTowDir(t, e) {
43
43
  const n = t.paths[0], r = a.point(n[0]), i = a.point(n[1]), o = p(i, r), c = u(r, e, o, {
44
44
  units: "meters"
45
- }), h = o > 0 ? o - 180 : o + 180, P = u(i, e, h, {
45
+ }), h = o > 0 ? o - 180 : o + 180, L = u(i, e, h, {
46
46
  units: "meters"
47
47
  });
48
48
  return new f({
49
49
  paths: [
50
- [c.geometry.coordinates, P.geometry.coordinates]
50
+ [c.geometry.coordinates, L.geometry.coordinates]
51
51
  ]
52
52
  });
53
53
  }
@@ -226,8 +226,8 @@ class s {
226
226
  * @returns
227
227
  */
228
228
  static getCenterPointInLine(t) {
229
- const e = a.lineString(t), n = O(e, { units: "meters" });
230
- return d(e, 0, n / 2, {
229
+ const e = a.lineString(t), n = O(e, { units: "meters" }) / 2;
230
+ return d(e, 0, n, {
231
231
  units: "meters"
232
232
  }).geometry.coordinates[1];
233
233
  }