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.
- package/es/src/gis-map/gis-map.vue.d.ts +1 -0
- package/es/src/gis-map/gis-map.vue.mjs +52 -49
- package/es/src/gis-map/index.d.ts +1 -0
- package/es/src/gis-map/utils/holo-flow/index.d.ts +1 -0
- package/es/src/gis-map/utils/holo-flow/index.mjs +4 -0
- package/es/src/gis-map/utils/holo-flow/signal-holo-flow.mjs +1 -1
- package/es/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +1 -0
- package/es/src/gis-map/utils/holo-flow/trace-holo-flow.mjs +38 -38
- package/es/src/gis-map/utils/holo-flow/{trace-external-renderer.d.ts → trace-renderer-external.d.ts} +13 -5
- package/es/src/gis-map/utils/holo-flow/trace-renderer-external.mjs +381 -0
- package/es/src/gis-map/utils/holo-flow/{trace-layer-renderer.d.ts → trace-renderer-layer.d.ts} +4 -2
- package/es/src/gis-map/utils/holo-flow/{trace-layer-renderer.mjs → trace-renderer-layer.mjs} +35 -31
- package/es/src/types/index.d.ts +2 -0
- package/lib/src/gis-map/gis-map.vue.d.ts +1 -0
- package/lib/src/gis-map/gis-map.vue.js +1 -1
- package/lib/src/gis-map/index.d.ts +1 -0
- package/lib/src/gis-map/utils/holo-flow/index.d.ts +1 -0
- package/lib/src/gis-map/utils/holo-flow/index.js +1 -1
- package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.js +1 -1
- package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.d.ts +1 -0
- package/lib/src/gis-map/utils/holo-flow/trace-holo-flow.js +1 -1
- package/lib/src/gis-map/utils/holo-flow/{trace-external-renderer.d.ts → trace-renderer-external.d.ts} +13 -5
- package/lib/src/gis-map/utils/holo-flow/trace-renderer-external.js +1 -0
- package/lib/src/gis-map/utils/holo-flow/{trace-layer-renderer.d.ts → trace-renderer-layer.d.ts} +4 -2
- package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -0
- package/lib/src/types/index.d.ts +2 -0
- package/package.json +1 -1
- package/es/src/gis-map/utils/holo-flow/trace-external-renderer.mjs +0 -322
- package/lib/src/gis-map/utils/holo-flow/trace-external-renderer.js +0 -1
- 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
|
|
2
|
-
import
|
|
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
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
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
|
|
11
|
-
const
|
|
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 =
|
|
19
|
+
const m = ae(null);
|
|
20
20
|
let o, s, a, r, t, n, i, l;
|
|
21
|
-
|
|
21
|
+
pe(), re(async () => {
|
|
22
22
|
if (!m.value)
|
|
23
23
|
return;
|
|
24
|
-
const e =
|
|
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
|
|
27
|
-
|
|
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,
|
|
30
|
-
p("markerClick", f, u, d,
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
-
},
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
65
|
-
i || (i = new
|
|
66
|
-
},
|
|
66
|
+
}, W = (e) => {
|
|
67
|
+
i || (i = new ge(o)), i.updateQueueLength(e);
|
|
68
|
+
}, X = () => {
|
|
67
69
|
i == null || i.removeQueueLength();
|
|
68
|
-
},
|
|
69
|
-
l || (l = new
|
|
70
|
-
},
|
|
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:
|
|
77
|
-
lookAt:
|
|
78
|
-
setMapCamera:
|
|
78
|
+
setMapCenter: I,
|
|
79
|
+
lookAt: h,
|
|
80
|
+
setMapCamera: b,
|
|
79
81
|
setMapZoomRange: S,
|
|
80
82
|
requestCoordinateTransform: L,
|
|
81
83
|
cancelCoordinateTransform: D,
|
|
82
|
-
addOverlays:
|
|
83
|
-
showAllOverlays:
|
|
84
|
-
removeOverlaysByType:
|
|
85
|
-
removeOverlaysById:
|
|
86
|
-
removeAllOverlays:
|
|
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:
|
|
97
|
-
clearHoloSignal:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
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;
|
|
@@ -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`,
|
|
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
|
|
3
|
-
import
|
|
4
|
-
import T from "./trace-layer
|
|
5
|
-
class
|
|
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
|
|
9
|
-
this.mapConfig = JSON.parse(JSON.stringify(
|
|
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
|
|
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
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
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(
|
|
25
|
+
this.traceRenderer.addVehicles(a);
|
|
30
26
|
}
|
|
31
|
-
if (
|
|
32
|
-
for (const
|
|
33
|
-
const
|
|
34
|
-
|
|
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(
|
|
32
|
+
this.traceRenderer.updateVehicles(h);
|
|
37
33
|
}
|
|
38
34
|
if (o && o.length > 0) {
|
|
39
|
-
const
|
|
40
|
-
(
|
|
35
|
+
const t = o.map(
|
|
36
|
+
(r) => n + "-" + (r.ptcId || r.vehno || r.vehNo)
|
|
41
37
|
);
|
|
42
|
-
this.traceRenderer.deleteVehicles(
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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:
|
|
72
|
-
crossId:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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:
|
|
77
|
+
heading: i === 2 ? -n : n,
|
|
78
78
|
vehicleColor: h,
|
|
79
|
-
showName:
|
|
80
|
-
plateNo:
|
|
81
|
-
plateColor:
|
|
82
|
-
timestamp:
|
|
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
|
-
|
|
89
|
+
b as default
|
|
90
90
|
};
|
package/es/src/gis-map/utils/holo-flow/{trace-external-renderer.d.ts → trace-renderer-external.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EVehiclePlateState, IToggleTrafficInfoParams, ITraceRendererInterface, IVehicleTrack } from '../../../types';
|
|
2
|
-
export default class
|
|
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
|
-
|
|
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
|
/**
|