gisviewer-vue3-arcgis 1.0.196 → 1.0.198

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 (27) hide show
  1. package/es/src/gis-map/gis-map.vue.d.ts +2 -1
  2. package/es/src/gis-map/gis-map.vue.mjs +143 -141
  3. package/es/src/gis-map/index.d.ts +1 -0
  4. package/es/src/gis-map/utils/detect-gpu.d.ts +2 -0
  5. package/es/src/gis-map/utils/detect-gpu.mjs +44 -0
  6. package/es/src/gis-map/utils/green-wave-band-controller/index.d.ts +20 -5
  7. package/es/src/gis-map/utils/green-wave-band-controller/index.mjs +106 -52
  8. package/es/src/gis-map/utils/holo-flow/trace-renderer-layer.d.ts +0 -4
  9. package/es/src/gis-map/utils/holo-flow/trace-renderer-layer.mjs +18 -60
  10. package/es/src/gis-map/utils/signal-control-area-controller/district-controller.mjs +2 -2
  11. package/es/src/gis-map/utils/signal-control-area-controller/index.d.ts +1 -0
  12. package/es/src/gis-map/utils/signal-control-area-controller/index.mjs +60 -40
  13. package/es/src/types/index.d.ts +6 -4
  14. package/lib/src/gis-map/gis-map.vue.d.ts +2 -1
  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/detect-gpu.d.ts +2 -0
  18. package/lib/src/gis-map/utils/detect-gpu.js +1 -0
  19. package/lib/src/gis-map/utils/green-wave-band-controller/index.d.ts +20 -5
  20. package/lib/src/gis-map/utils/green-wave-band-controller/index.js +1 -1
  21. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.d.ts +0 -4
  22. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -1
  23. package/lib/src/gis-map/utils/signal-control-area-controller/district-controller.js +1 -1
  24. package/lib/src/gis-map/utils/signal-control-area-controller/index.d.ts +1 -0
  25. package/lib/src/gis-map/utils/signal-control-area-controller/index.js +1 -1
  26. package/lib/src/types/index.d.ts +6 -4
  27. package/package.json +1 -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 { IEditSignalControlAreaParams, IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowOpenDriveFromFileParams, IShowSignalControlAreaParams, ISignalCountdownProps, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
3
+ import { IEditSignalControlAreaParams, IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowGreenWaveBandParams, IShowOpenDriveFromFileParams, IShowSignalControlAreaParams, ISignalCountdownProps, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
4
4
  import GreenWaveBandController from './utils/green-wave-band-controller';
5
5
  import HoloFlow from './utils/holo-flow';
6
6
  import MapInitializer from './utils/map-initializer';
@@ -146,6 +146,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
146
146
  status: number;
147
147
  message: string;
148
148
  } | undefined;
149
+ showGreenWaveBand: (params: IShowGreenWaveBandParams) => Promise<void>;
149
150
  props: any;
150
151
  emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
151
152
  SignalCountdownPanel: import("vue").DefineComponent<{
@@ -1,208 +1,210 @@
1
- import { defineComponent as Ge, ref as b, reactive as Qe, onMounted as je, getCurrentInstance as Ze, onUnmounted as $e, computed as qe, openBlock as h, createElementBlock as k, createElementVNode as p, withDirectives as Ke, vShow as Ue, Fragment as Je, renderList as Re, createBlock as Xe } from "vue";
2
- import D, { registerStore as Ye } from "./stores/index.mjs";
1
+ import { defineComponent as je, ref as b, reactive as Ze, onMounted as $e, getCurrentInstance as qe, onUnmounted as Ke, computed as Ue, openBlock as h, createElementBlock as k, createElementVNode as d, withDirectives as Je, vShow as Re, Fragment as Xe, renderList as Ye, createBlock as Fe } from "vue";
2
+ import D, { registerStore as et } from "./stores/index.mjs";
3
3
  import "./style/index.css";
4
- import Fe from "./utils/green-wave-band-controller/index.mjs";
5
- import et from "./utils/holo-flow/index.mjs";
6
- import tt from "./utils/holo-flow/signal-countdown-panel.vue.mjs";
7
- import at from "./utils/map-initializer.mjs";
8
- import L from "./utils/open-drive-renderer/index.mjs";
9
- import T from "./utils/overlay.mjs";
10
- import nt from "./utils/queue-length.mjs";
4
+ import tt from "./utils/detect-gpu.mjs";
5
+ import L from "./utils/green-wave-band-controller/index.mjs";
6
+ import nt from "./utils/holo-flow/index.mjs";
7
+ import at from "./utils/holo-flow/signal-countdown-panel.vue.mjs";
8
+ import rt from "./utils/map-initializer.mjs";
9
+ import T from "./utils/open-drive-renderer/index.mjs";
10
+ import B from "./utils/overlay.mjs";
11
+ import st from "./utils/queue-length.mjs";
11
12
  import I from "./utils/road-config-tool/index.mjs";
12
- import B from "./utils/signal-control-area-controller/index.mjs";
13
- import rt from "./utils/traffic-flow.mjs";
14
- const st = { class: "gis-viewer" }, ot = { style: { position: "absolute", bottom: "80px", left: "10px", "z-index": "9999" } }, wt = /* @__PURE__ */ Ge({
13
+ import M from "./utils/signal-control-area-controller/index.mjs";
14
+ import ot from "./utils/traffic-flow.mjs";
15
+ const it = { class: "gis-viewer" }, ct = { style: { position: "absolute", bottom: "80px", left: "10px", "z-index": "9999" } }, At = /* @__PURE__ */ je({
15
16
  __name: "gis-map",
16
17
  props: {
17
18
  config: {},
18
19
  assetsRoot: {}
19
20
  },
20
21
  emits: ["mapLoaded", "markerClick", "mapClick"],
21
- setup(M, { expose: _, emit: x }) {
22
+ setup(_, { expose: x, emit: H }) {
22
23
  const S = b(null);
23
- let o, l, c, s, n, r, g, t, a, d;
24
+ let s, l, c, o, a, r, p, t, n, u;
24
25
  const f = b(!1);
25
- Ye();
26
- const H = D.useAppDataStore, O = Qe([]);
27
- je(async () => {
26
+ et();
27
+ const V = D.useAppDataStore, O = Ze([]);
28
+ tt(), $e(async () => {
28
29
  if (!S.value)
29
30
  return;
30
- document.addEventListener("keydown", (m) => {
31
- m.ctrlKey && m.key === "i" && (f.value = !f.value);
31
+ document.addEventListener("keydown", (g) => {
32
+ g.ctrlKey && g.key === "i" && (f.value = !f.value);
32
33
  });
33
- const e = Ze(), { $gisviewerAssetsRoot: u } = e.appContext.config.globalProperties, i = await (await fetch(A.config)).json();
34
- i.assetsRoot = A.assetsRoot || u, H.mapConfig = i, l = new at(), o = await l.initialize({
34
+ const e = qe(), { $gisviewerAssetsRoot: m } = e.appContext.config.globalProperties, i = await (await fetch(A.config)).json();
35
+ i.assetsRoot = A.assetsRoot || m, V.mapConfig = i, l = new rt(), s = await l.initialize({
35
36
  container: S.value,
36
37
  mapConfig: i,
37
- markerClickCallback: (m, y, w, Ee) => {
38
- v("markerClick", m, y, w, Ee);
38
+ markerClickCallback: (g, C, y, Qe) => {
39
+ w("markerClick", g, C, y, Qe);
39
40
  },
40
- mapClickCallback: (m, y, w) => {
41
- v("mapClick", m, y, w);
41
+ mapClickCallback: (g, C, y) => {
42
+ w("mapClick", g, C, y);
42
43
  }
43
- }), n = new et(o, O), await n.init(), v("mapLoaded");
44
- }), $e(() => {
45
- a == null || a.clearSignalControlArea(), t == null || t.clearOpenDrive(), n.clearHoloTrace(), n.clearHoloSignal(), s == null || s.disconnectTrafficFlow();
44
+ }), a = new nt(s, O), await a.init(), w("mapLoaded");
45
+ }), Ke(() => {
46
+ n == null || n.clearSignalControlArea(), t == null || t.clearOpenDrive(), a.clearHoloTrace(), a.clearHoloSignal(), o == null || o.disconnectTrafficFlow();
46
47
  });
47
- const V = qe(() => o), P = () => {
48
+ const G = Ue(() => s), P = () => {
48
49
  const e = D.useAppDataStore;
49
50
  e.saveTrackLog = !0;
51
+ }, W = () => {
52
+ a.downloadTrackLog();
50
53
  }, N = () => {
51
- n.downloadTrackLog();
54
+ v("vehicleId");
52
55
  }, z = () => {
53
- C("vehicleId");
54
- }, W = () => {
55
- C("plateNumber");
56
- }, E = async (e) => await l.setMapCenter(e), G = async (e) => await l.setMapCamera(e), Q = async (e) => await l.lookAt(e), j = (e) => l.setLayerVisibility(e), Z = (e, u) => l.requestCoordinateTransform(e, u), $ = (e) => {
56
+ v("plateNumber");
57
+ }, E = async (e) => await l.setMapCenter(e), Q = async (e) => await l.setMapCamera(e), j = async (e) => await l.lookAt(e), Z = (e) => l.setLayerVisibility(e), $ = (e, m) => l.requestCoordinateTransform(e, m), q = (e) => {
57
58
  l.cancelCoordinateTransform(e);
58
- }, q = (e) => {
59
+ }, K = (e) => {
59
60
  l.setMapZoomRange(e);
60
- }, K = (e) => (c || (c = new I(o)), c.showLaneNumber(e)), U = () => {
61
+ }, U = (e) => (c || (c = new I(s)), c.showLaneNumber(e)), J = () => {
61
62
  c == null || c.clearLaneNumber();
62
- }, J = async (e) => (c || (c = new I(o)), await c.initializeSearch(e)), R = async () => c == null ? void 0 : c.calCrossIndicatorArea(), X = async () => {
63
- }, Y = async (e, u) => {
64
- s || (s = new rt(o)), s.connectTrafficFlow(e, u);
65
- }, F = () => {
66
- s == null || s.disconnectTrafficFlow();
67
- }, ee = async (e) => {
68
- n.handleVehicleTraceData(e);
69
- }, te = () => {
70
- n.clearHoloTrace();
63
+ }, R = async (e) => (c || (c = new I(s)), await c.initializeSearch(e)), X = async () => c == null ? void 0 : c.calCrossIndicatorArea(), Y = async () => {
64
+ }, F = async (e, m) => {
65
+ o || (o = new ot(s)), o.connectTrafficFlow(e, m);
66
+ }, ee = () => {
67
+ o == null || o.disconnectTrafficFlow();
68
+ }, te = async (e) => {
69
+ a.handleVehicleTraceData(e);
70
+ }, ne = () => {
71
+ a.clearHoloTrace();
71
72
  }, ae = (e) => {
72
- n.setInterpolate(e);
73
- }, ne = async (e) => {
74
- await n.handleSignalData(e);
75
- }, re = () => {
76
- n.clearHoloSignal();
77
- }, se = (e) => {
78
- s == null || s.toggleTrafficInfo(e), n == null || n.toggleTrafficInfo(e);
73
+ a.setInterpolate(e);
74
+ }, re = async (e) => {
75
+ await a.handleSignalData(e);
76
+ }, se = () => {
77
+ a.clearHoloSignal();
79
78
  }, oe = (e) => {
80
- n == null || n.togglePause(e);
79
+ o == null || o.toggleTrafficInfo(e), a == null || a.toggleTrafficInfo(e);
81
80
  }, ie = (e) => {
82
- s == null || s.toggleTrafficObject(e), n == null || n.toggleTrafficObject(e);
83
- }, C = (e) => {
84
- n == null || n.updatePanelContent(e);
85
- }, ce = async (e) => (r || (r = new T(o)), r.addOverlays(e)), le = (e) => (r || (r = new T(o)), r.addMask(e)), ue = () => {
81
+ a == null || a.togglePause(e);
82
+ }, ce = (e) => {
83
+ o == null || o.toggleTrafficObject(e), a == null || a.toggleTrafficObject(e);
84
+ }, v = (e) => {
85
+ a == null || a.updatePanelContent(e);
86
+ }, le = async (e) => (r || (r = new B(s)), r.addOverlays(e)), ue = (e) => (r || (r = new B(s)), r.addMask(e)), me = () => {
86
87
  r == null || r.removeMask();
87
- }, me = (e) => r == null ? void 0 : r.removeOverlaysByType(e), ge = (e) => r == null ? void 0 : r.removeOverlaysById(e), pe = () => r == null ? void 0 : r.removeAllOverlays(), de = () => {
88
+ }, ge = (e) => r == null ? void 0 : r.removeOverlaysByType(e), pe = (e) => r == null ? void 0 : r.removeOverlaysById(e), de = () => r == null ? void 0 : r.removeAllOverlays(), Se = () => {
88
89
  r == null || r.showAllOverlays();
89
- }, Se = (e) => {
90
- g || (g = new nt(o)), g.updateQueueLength(e);
91
- }, fe = () => {
92
- g == null || g.removeQueueLength();
93
- }, Ce = async (e, u) => (t || (t = new L(o)), await t.showOpenDriveFromServer(e, u)), ve = async (e) => (t || (t = new L(o)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), ye = async () => await (t == null ? void 0 : t.clearOpenDrive()), we = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
90
+ }, fe = (e) => {
91
+ p || (p = new st(s)), p.updateQueueLength(e);
92
+ }, ve = () => {
93
+ p == null || p.removeQueueLength();
94
+ }, we = async (e, m) => (t || (t = new T(s)), await t.showOpenDriveFromServer(e, m)), Ce = async (e) => (t || (t = new T(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), ye = async () => await (t == null ? void 0 : t.clearOpenDrive()), he = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
94
95
  status: -1,
95
96
  message: "未加载OpenDrive地图"
96
- }, he = async (e) => t ? t.selectSumo(e) : {
97
+ }, Oe = async (e) => t ? t.selectSumo(e) : {
97
98
  status: -1,
98
99
  message: "未加载OpenDrive地图"
99
- }, Oe = async (e) => t ? t.unselectSumo(e) : {
100
+ }, Ae = async (e) => t ? t.unselectSumo(e) : {
100
101
  status: -1,
101
102
  message: "未加载OpenDrive地图"
102
- }, Ae = async (e) => t ? await t.geometrySearch(e) : {
103
+ }, be = async (e) => t ? await t.geometrySearch(e) : {
103
104
  status: -1,
104
105
  message: "未加载OpenDrive地图"
105
- }, be = async (e) => t ? await t.getSumoInfo(e) : {
106
+ }, ke = async (e) => t ? await t.getSumoInfo(e) : {
106
107
  status: -1,
107
108
  message: "未加载OpenDrive地图"
108
- }, ke = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
109
+ }, De = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
109
110
  status: -1,
110
111
  message: "未加载OpenDrive地图"
111
- }, De = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
112
+ }, Le = async () => t ? t == null ? void 0 : t.clearSplitLane() : {
112
113
  status: -1,
113
114
  message: "未加载OpenDrive地图"
114
- }, Le = (e) => (a || (a = new B(o)), a.showSignalControlArea(e)), Te = () => {
115
- a == null || a.clearSignalControlArea();
116
- }, Ie = async (e) => a ? await a.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Be = async (e) => a ? await a.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Me = () => a ? a.resetHighlight() : { status: -1, message: "未加载信号控制区" }, _e = (e) => (a || (a = new B(o)), a.showSubSignalControlArea(e)), xe = (e) => a ? a.editSubSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, He = () => a ? a.stopEditSubSignalControlArea() : { status: -1, message: "未加载信号控制区" }, Ve = (e) => a ? a.selectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, Pe = (e) => a ? a.unselectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, Ne = (e) => a ? a.changeSubSignalControlAreaBorderVisibility(
115
+ }, Te = (e) => (n || (n = new M(s)), n.showSignalControlArea(e)), Be = () => {
116
+ n == null || n.clearSignalControlArea();
117
+ }, Ie = async (e) => n ? await n.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Me = async (e) => n ? await n.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, _e = () => n ? n.resetHighlight() : { status: -1, message: "未加载信号控制区" }, xe = (e) => (n || (n = new M(s)), n.showSubSignalControlArea(e)), He = (e) => n ? n.editSubSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Ve = () => n ? n.stopEditSubSignalControlArea() : { status: -1, message: "未加载信号控制区" }, Ge = (e) => n ? n.selectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, Pe = (e) => n ? n.unselectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, We = (e) => n ? n.changeSubSignalControlAreaBorderVisibility(
117
118
  e
118
- ) : { status: -1, message: "未加载信号控制区" }, ze = (e) => (d || (d = new Fe(o)), d.addGreenWaveBand(e)), We = () => {
119
- if (!d)
119
+ ) : { status: -1, message: "未加载信号控制区" }, Ne = (e) => (u || (u = new L(s)), u.addGreenWaveBand(e)), ze = () => {
120
+ if (!u)
120
121
  return { status: -1, message: "未加载绿波带" };
121
- d.stopAddGreenWaveBand();
122
- }, A = M, v = x;
123
- return _({
124
- mapViewer: V,
125
- setLayerVisibility: j,
122
+ u.stopAddGreenWaveBand();
123
+ }, Ee = async (e) => (u || (u = new L(s)), await u.showGreenWaveBand(e)), A = _, w = H;
124
+ return x({
125
+ mapViewer: G,
126
+ setLayerVisibility: Z,
126
127
  setMapCenter: E,
127
- lookAt: Q,
128
- setMapCamera: G,
129
- setMapZoomRange: q,
130
- requestCoordinateTransform: Z,
131
- cancelCoordinateTransform: $,
132
- addOverlays: ce,
133
- addMask: le,
134
- removeMask: ue,
135
- showAllOverlays: de,
136
- removeOverlaysByType: me,
137
- removeOverlaysById: ge,
138
- removeAllOverlays: pe,
139
- showLaneNumber: K,
140
- clearLaneNumber: U,
141
- initializeAreaTool: J,
142
- calCrossIndicatorArea: R,
143
- calRoadIndicatorArea: X,
144
- connectCarFlow: Y,
145
- disconnectCarFlow: F,
146
- handleHoloVehicleTraceData: ee,
147
- clearHoloTrace: te,
148
- handleHoloSignalData: ne,
149
- clearHoloSignal: re,
128
+ lookAt: j,
129
+ setMapCamera: Q,
130
+ setMapZoomRange: K,
131
+ requestCoordinateTransform: $,
132
+ cancelCoordinateTransform: q,
133
+ addOverlays: le,
134
+ addMask: ue,
135
+ removeMask: me,
136
+ showAllOverlays: Se,
137
+ removeOverlaysByType: ge,
138
+ removeOverlaysById: pe,
139
+ removeAllOverlays: de,
140
+ showLaneNumber: U,
141
+ clearLaneNumber: J,
142
+ initializeAreaTool: R,
143
+ calCrossIndicatorArea: X,
144
+ calRoadIndicatorArea: Y,
145
+ connectCarFlow: F,
146
+ disconnectCarFlow: ee,
147
+ handleHoloVehicleTraceData: te,
148
+ clearHoloTrace: ne,
149
+ handleHoloSignalData: re,
150
+ clearHoloSignal: se,
150
151
  setInterpolate: ae,
151
- toggleTrafficInfo: se,
152
- toggleTrafficObject: ie,
153
- toggleVehicleInfo: C,
154
- togglePause: oe,
155
- updateQueueLength: Se,
156
- removeQueueLength: fe,
157
- showOpenDriveFromServer: Ce,
158
- showOpenDriveFromFile: ve,
152
+ toggleTrafficInfo: oe,
153
+ toggleTrafficObject: ce,
154
+ toggleVehicleInfo: v,
155
+ togglePause: ie,
156
+ updateQueueLength: fe,
157
+ removeQueueLength: ve,
158
+ showOpenDriveFromServer: we,
159
+ showOpenDriveFromFile: Ce,
159
160
  clearOpenDrive: ye,
160
- geometrySearchInOpenDrive: Ae,
161
- findSumoInOpenDrive: we,
162
- selectSumoInOpenDrive: he,
163
- unselectSumoInOpenDrive: Oe,
164
- getSumoInfo: be,
165
- splitOpenDriveLane: ke,
166
- clearSplitOpenDriveLane: De,
167
- showSignalControlArea: Le,
168
- clearSignalControlArea: Te,
161
+ geometrySearchInOpenDrive: be,
162
+ findSumoInOpenDrive: he,
163
+ selectSumoInOpenDrive: Oe,
164
+ unselectSumoInOpenDrive: Ae,
165
+ getSumoInfo: ke,
166
+ splitOpenDriveLane: De,
167
+ clearSplitOpenDriveLane: Le,
168
+ showSignalControlArea: Te,
169
+ clearSignalControlArea: Be,
169
170
  locateSignalControlArea: Ie,
170
- highlightSignalControlArea: Be,
171
- resetHighlightSignalControlArea: Me,
172
- showSubSignalControlArea: _e,
173
- editSubSignalControlArea: xe,
174
- stopEditSubSignalControlArea: He,
175
- selectSubSignalControlAreaCross: Ve,
171
+ highlightSignalControlArea: Me,
172
+ resetHighlightSignalControlArea: _e,
173
+ showSubSignalControlArea: xe,
174
+ editSubSignalControlArea: He,
175
+ stopEditSubSignalControlArea: Ve,
176
+ selectSubSignalControlAreaCross: Ge,
176
177
  unselectSubSignalControlAreaCross: Pe,
177
- changeSubSignalControlAreaBorderVisibility: Ne,
178
- addGreenWaveBand: ze,
179
- stopAddGreenWaveBand: We
180
- }), (e, u) => (h(), k("div", st, [
181
- p("div", {
178
+ changeSubSignalControlAreaBorderVisibility: We,
179
+ addGreenWaveBand: Ne,
180
+ stopAddGreenWaveBand: ze,
181
+ showGreenWaveBand: Ee
182
+ }), (e, m) => (h(), k("div", it, [
183
+ d("div", {
182
184
  class: "gis-viewer-main",
183
185
  ref_key: "mapContainer",
184
186
  ref: S
185
187
  }, [
186
- Ke(p("div", ot, [
187
- p("button", {
188
+ Je(d("div", ct, [
189
+ d("button", {
188
190
  style: { "margin-right": "10px" },
189
191
  onClick: P
190
192
  }, " 开始记录 "),
191
- p("button", {
193
+ d("button", {
192
194
  style: { "margin-right": "10px" },
193
- onClick: N
195
+ onClick: W
194
196
  }, " 下载日志 "),
195
- p("button", {
197
+ d("button", {
196
198
  style: { "margin-right": "10px" },
197
- onClick: z
199
+ onClick: N
198
200
  }, " 显示车辆id "),
199
- p("button", { onClick: W }, "显示车辆号牌")
201
+ d("button", { onClick: z }, "显示车辆号牌")
200
202
  ], 512), [
201
- [Ue, f.value]
203
+ [Re, f.value]
202
204
  ])
203
205
  ], 512),
204
- (h(!0), k(Je, null, Re(O, (i, m) => (h(), Xe(tt, {
205
- key: m,
206
+ (h(!0), k(Xe, null, Ye(O, (i, g) => (h(), Fe(at, {
207
+ key: g,
206
208
  "display-mode": i.displayMode,
207
209
  "road-id": i.crossId,
208
210
  "cross-id": i.roadId,
@@ -217,5 +219,5 @@ const st = { class: "gis-viewer" }, ot = { style: { position: "absolute", bottom
217
219
  }
218
220
  });
219
221
  export {
220
- wt as default
222
+ At as default
221
223
  };
@@ -134,6 +134,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
134
134
  status: number;
135
135
  message: string;
136
136
  } | undefined;
137
+ showGreenWaveBand: (params: import("../types").IShowGreenWaveBandParams) => Promise<void>;
137
138
  props: any;
138
139
  emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
139
140
  SignalCountdownPanel: import("vue").DefineComponent<{
@@ -0,0 +1,2 @@
1
+ declare const detectGpu: () => any;
2
+ export default detectGpu;
@@ -0,0 +1,44 @@
1
+ const s = (e) => {
2
+ const r = [], o = e.split("");
3
+ for (let t = 0; t < o.length; t++)
4
+ if (o[t] === "(")
5
+ r.push(t);
6
+ else if (o[t] === ")") {
7
+ const n = r.pop();
8
+ n !== void 0 && (o.splice(n, t - n + 1), t = n - 1);
9
+ }
10
+ return o.join("");
11
+ }, i = (e) => s(e).replace(/\/PCIe\/SSE2/g, "").replace(/\s+/g, " ").trim(), c = () => {
12
+ try {
13
+ const e = document.createElement("canvas"), r = e.getContext("webgl") || e.getContext("experimental-webgl");
14
+ if (!r)
15
+ return "Unknown";
16
+ const o = r.getExtension("WEBGL_debug_renderer_info");
17
+ return o && r.getParameter(o.UNMASKED_RENDERER_WEBGL) || "Unknown";
18
+ } catch {
19
+ return "Unknown";
20
+ }
21
+ }, l = () => {
22
+ const e = c();
23
+ try {
24
+ if (/, or similar$/.test(e) || /SwiftShader/.test(e))
25
+ return "Unknown";
26
+ if (/^ANGLE/.test(e)) {
27
+ const r = e.match(/\((.+)\)$/);
28
+ if (r) {
29
+ const o = r[1], t = o.split(/,\s*/g);
30
+ let n = t[1];
31
+ return /^ANGLE Metal Renderer: /.test(n) && (n = e.split(": ")[1].split(",")[0]), t.length === 1 && (n = t[0].split(" ").slice(1).join(" ")), /Direct3D/.test(n) && (n = n.split("Direct3D")[0].trim()), n;
32
+ }
33
+ }
34
+ } catch {
35
+ return "Unknown";
36
+ }
37
+ return i(e);
38
+ }, u = () => {
39
+ const e = l();
40
+ return console.log("GPU:", e), localStorage.setItem("gpu", e), e;
41
+ };
42
+ export {
43
+ u as default
44
+ };
@@ -1,14 +1,21 @@
1
- import { IEditSignalControlAreaParams } from '../../../types';
1
+ import { IEditSignalControlAreaParams, IShowGreenWaveBandParams } from '../../../types';
2
2
  export default class GreenWaveBandController {
3
3
  private view;
4
+ /** 新增时显示路口的图层 */
4
5
  private allNodesLayer;
6
+ /** 新增时显示路段的图层 */
5
7
  private roadsectLayer;
8
+ /** 显示现有绿波带的图层 */
9
+ private bandLayer;
6
10
  private viewClickWatcher?;
7
11
  private openDriveServer;
8
12
  private selectedNodeIds;
9
- private addCrossCallback;
10
- private removeCrossCallback;
11
- private removeAllCrossCallback;
13
+ private scaleWatcher?;
14
+ private readonly nodeScale;
15
+ private hasGpu;
16
+ private addNodeCallback;
17
+ private removeNodeCallback;
18
+ private removeAllNodeCallback;
12
19
  constructor(view: __esri.MapView | __esri.SceneView);
13
20
  /**
14
21
  * 新增绿波带
@@ -16,6 +23,7 @@ export default class GreenWaveBandController {
16
23
  */
17
24
  addGreenWaveBand(params: IEditSignalControlAreaParams): void;
18
25
  stopAddGreenWaveBand(): void;
26
+ showGreenWaveBand(params: IShowGreenWaveBandParams): Promise<void>;
19
27
  /**
20
28
  * 显示所有路口,进入待选状态
21
29
  * @param nodeAttributes
@@ -33,5 +41,12 @@ export default class GreenWaveBandController {
33
41
  */
34
42
  private showDownstreamNodes;
35
43
  private getLineSymbol;
36
- private getNodeSymbol;
44
+ private getShowNodeSymbol;
45
+ /**
46
+ * 编辑状态时的路口符号
47
+ * 全部用cim符号,是否选中用不同的图标
48
+ * @param selected 是否选中
49
+ * @returns
50
+ */
51
+ private getEditableNodeSymbol;
37
52
  }