gisviewer-vue3-arcgis 1.0.133 → 1.0.134
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/_virtual/_plugin-vue_export-helper.mjs +9 -0
- package/es/src/gis-map/gis-map.vue.d.ts +17 -0
- package/es/src/gis-map/gis-map.vue.mjs +118 -113
- package/es/src/gis-map/index.d.ts +17 -0
- package/es/src/gis-map/utils/components/sketch-tool.vue.d.ts +18 -0
- package/es/src/gis-map/utils/components/sketch-tool.vue.mjs +7 -0
- package/es/src/gis-map/utils/components/sketch-tool.vue2.mjs +48 -0
- package/es/src/gis-map/utils/components/sketch-tool.vue3.mjs +4 -0
- package/es/src/gis-map/utils/open-drive-renderer/index.d.ts +2 -1
- package/es/src/gis-map/utils/open-drive-renderer/index.mjs +18 -16
- package/es/src/gis-map/utils/signal-control-area-controller/index.mjs +3 -7
- package/es/style.css +1 -1
- package/lib/_virtual/_plugin-vue_export-helper.js +1 -0
- package/lib/src/gis-map/gis-map.vue.d.ts +17 -0
- package/lib/src/gis-map/gis-map.vue.js +1 -1
- package/lib/src/gis-map/index.d.ts +17 -0
- package/lib/src/gis-map/utils/components/sketch-tool.vue.d.ts +18 -0
- package/lib/src/gis-map/utils/components/sketch-tool.vue.js +1 -0
- package/lib/src/gis-map/utils/components/sketch-tool.vue2.js +1 -0
- package/lib/src/gis-map/utils/components/sketch-tool.vue3.js +1 -0
- package/lib/src/gis-map/utils/open-drive-renderer/index.d.ts +2 -1
- package/lib/src/gis-map/utils/open-drive-renderer/index.js +1 -1
- package/lib/src/gis-map/utils/signal-control-area-controller/index.js +1 -1
- package/package.json +1 -1
- package/es/src/gis-map/utils/open-drive-renderer/draw-bezier.d.ts +0 -17
- package/es/src/gis-map/utils/open-drive-renderer/draw-bezier.mjs +0 -49
- package/es/src/gis-map/utils/open-drive-renderer/junction.d.ts +0 -51
- package/es/src/gis-map/utils/open-drive-renderer/junction.mjs +0 -151
- package/es/src/gis-map/utils/open-drive-renderer/lane-section.d.ts +0 -48
- package/es/src/gis-map/utils/open-drive-renderer/lane-section.mjs +0 -82
- package/es/src/gis-map/utils/open-drive-renderer/lane-utils.d.ts +0 -29
- package/es/src/gis-map/utils/open-drive-renderer/lane-utils.mjs +0 -265
- package/es/src/gis-map/utils/open-drive-renderer/lane.d.ts +0 -77
- package/es/src/gis-map/utils/open-drive-renderer/lane.mjs +0 -110
- package/es/src/gis-map/utils/open-drive-renderer/road.d.ts +0 -62
- package/es/src/gis-map/utils/open-drive-renderer/road.mjs +0 -121
- package/es/src/gis-map/utils/open-drive-renderer/wasm-loader.d.ts +0 -108
- package/es/src/gis-map/utils/open-drive-renderer/wasm-loader.mjs +0 -425
- package/lib/src/gis-map/utils/open-drive-renderer/draw-bezier.d.ts +0 -17
- package/lib/src/gis-map/utils/open-drive-renderer/draw-bezier.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/junction.d.ts +0 -51
- package/lib/src/gis-map/utils/open-drive-renderer/junction.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/lane-section.d.ts +0 -48
- package/lib/src/gis-map/utils/open-drive-renderer/lane-section.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/lane-utils.d.ts +0 -29
- package/lib/src/gis-map/utils/open-drive-renderer/lane-utils.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/lane.d.ts +0 -77
- package/lib/src/gis-map/utils/open-drive-renderer/lane.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/road.d.ts +0 -62
- package/lib/src/gis-map/utils/open-drive-renderer/road.js +0 -1
- package/lib/src/gis-map/utils/open-drive-renderer/wasm-loader.d.ts +0 -108
- package/lib/src/gis-map/utils/open-drive-renderer/wasm-loader.js +0 -1
|
@@ -30,6 +30,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
30
30
|
openDriveRenderer: OpenDriveRenderer;
|
|
31
31
|
signalControlAreaController: SignalControlAreaController;
|
|
32
32
|
showLogDiv: import("vue").Ref<boolean>;
|
|
33
|
+
showGroupSelect: import("vue").Ref<boolean>;
|
|
33
34
|
mapViewer: import("vue").ComputedRef<MapView | SceneView>;
|
|
34
35
|
startSaveTrackLog: () => void;
|
|
35
36
|
downloadTrackLog: () => void;
|
|
@@ -88,6 +89,22 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
88
89
|
resetHighlightSignalControlArea: () => import("../types").IResult;
|
|
89
90
|
props: any;
|
|
90
91
|
emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
|
|
92
|
+
sketchTool: import("vue").DefineComponent<{
|
|
93
|
+
view: {
|
|
94
|
+
type: null;
|
|
95
|
+
required: true;
|
|
96
|
+
};
|
|
97
|
+
}, {
|
|
98
|
+
props: any;
|
|
99
|
+
sketchVM: __esri.SketchViewModel;
|
|
100
|
+
resetButtonHandler: () => void;
|
|
101
|
+
geometrySelectionHandler: (event: any) => void;
|
|
102
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
103
|
+
view: {
|
|
104
|
+
type: null;
|
|
105
|
+
required: true;
|
|
106
|
+
};
|
|
107
|
+
}>>, {}, {}>;
|
|
91
108
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick")[], "mapLoaded" | "markerClick" | "mapClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
92
109
|
config: {
|
|
93
110
|
type: StringConstructor;
|
|
@@ -1,168 +1,173 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as ke, ref as y, onMounted as Te, getCurrentInstance as Ae, onUnmounted as De, computed as Ie, openBlock as C, createElementBlock as Le, createElementVNode as p, withDirectives as be, vShow as _e, createBlock as He, unref as xe, createCommentVNode as Me } from "vue";
|
|
2
|
+
import O, { registerStore as Ve } from "./stores/index.mjs";
|
|
3
3
|
import "./style/index.css";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
|
|
4
|
+
import Be from "./utils/components/sketch-tool.vue.mjs";
|
|
5
|
+
import Ne from "./utils/holo-flow/index.mjs";
|
|
6
|
+
import ze from "./utils/map-initializer.mjs";
|
|
7
|
+
import k from "./utils/open-drive-renderer/index.mjs";
|
|
8
|
+
import Qe from "./utils/overlay.mjs";
|
|
9
|
+
import je from "./utils/queue-length.mjs";
|
|
10
|
+
import T from "./utils/road-config-tool/index.mjs";
|
|
11
|
+
import Pe from "./utils/signal-control-area-controller/index.mjs";
|
|
12
|
+
import Ee from "./utils/traffic-flow.mjs";
|
|
13
|
+
const Fe = { class: "gis-viewer" }, Re = { style: { position: "absolute", bottom: "10px", left: "10px" } }, at = /* @__PURE__ */ ke({
|
|
13
14
|
__name: "gis-map",
|
|
14
15
|
props: {
|
|
15
16
|
config: {},
|
|
16
17
|
assetsRoot: {}
|
|
17
18
|
},
|
|
18
19
|
emits: ["mapLoaded", "markerClick", "mapClick"],
|
|
19
|
-
setup(
|
|
20
|
-
const g =
|
|
21
|
-
let
|
|
22
|
-
const f =
|
|
23
|
-
|
|
24
|
-
if (
|
|
20
|
+
setup(A, { expose: D, emit: I }) {
|
|
21
|
+
const g = y(null);
|
|
22
|
+
let s, c, i, n, a, o, u, t, r;
|
|
23
|
+
const f = y(!1), L = y(!1);
|
|
24
|
+
Te(async () => {
|
|
25
|
+
if (Ve(), !g.value)
|
|
25
26
|
return;
|
|
26
27
|
document.addEventListener("keydown", (m) => {
|
|
27
28
|
m.ctrlKey && m.key === "i" && (f.value = !f.value);
|
|
28
29
|
});
|
|
29
|
-
const e =
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
30
|
+
const e = Ae(), { $gisviewerAssetsRoot: l } = e.appContext.config.globalProperties, S = await (await fetch(h.config)).json();
|
|
31
|
+
S.assetsRoot = h.assetsRoot || l;
|
|
32
|
+
const Ce = O.useAppDataStore;
|
|
33
|
+
Ce.mapConfig = S, c = new ze(), s = await c.initialize({
|
|
33
34
|
container: g.value,
|
|
34
|
-
markerClickCallback: (m,
|
|
35
|
-
w("markerClick", m,
|
|
35
|
+
markerClickCallback: (m, v, d, Oe) => {
|
|
36
|
+
w("markerClick", m, v, d, Oe);
|
|
36
37
|
},
|
|
37
|
-
mapClickCallback: (m,
|
|
38
|
-
w("mapClick", m,
|
|
38
|
+
mapClickCallback: (m, v, d) => {
|
|
39
|
+
w("mapClick", m, v, d);
|
|
39
40
|
}
|
|
40
|
-
}), a = new
|
|
41
|
-
}),
|
|
42
|
-
|
|
41
|
+
}), a = new Ne(s), await a.init(), w("mapLoaded");
|
|
42
|
+
}), De(() => {
|
|
43
|
+
r == null || r.clearSignalControlArea(), t == null || t.clearOpenDrive(), a == null || a.clearHoloTrace(), a == null || a.clearHoloSignal(), n == null || n.disconnectTrafficFlow();
|
|
43
44
|
});
|
|
44
|
-
const
|
|
45
|
-
const e =
|
|
45
|
+
const b = Ie(() => s), _ = () => {
|
|
46
|
+
const e = O.useAppDataStore;
|
|
46
47
|
e.saveTrackLog = !0;
|
|
47
|
-
},
|
|
48
|
+
}, H = () => {
|
|
48
49
|
a.downloadTrackLog();
|
|
49
|
-
},
|
|
50
|
+
}, x = async (e) => await c.setMapCenter(e), M = async (e) => await c.setMapCamera(e), V = async (e) => await c.lookAt(e), B = (e) => c.setLayerVisibility(e), N = (e, l) => c.requestCoordinateTransform(e, l), z = (e) => {
|
|
50
51
|
c.cancelCoordinateTransform(e);
|
|
51
|
-
},
|
|
52
|
+
}, Q = (e) => {
|
|
52
53
|
c.setMapZoomRange(e);
|
|
53
|
-
},
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
n || (n = new
|
|
58
|
-
},
|
|
54
|
+
}, j = (e) => (i || (i = new T(s)), i.showLaneNumber(e)), P = () => {
|
|
55
|
+
i == null || i.clearLaneNumber();
|
|
56
|
+
}, E = async (e) => (i || (i = new T(s)), await i.initializeSearch(e)), F = async () => i == null ? void 0 : i.calCrossIndicatorArea(), R = async () => {
|
|
57
|
+
}, Z = async (e, l) => {
|
|
58
|
+
n || (n = new Ee(s)), n.connectTrafficFlow(e, l);
|
|
59
|
+
}, q = () => {
|
|
59
60
|
n == null || n.disconnectTrafficFlow();
|
|
60
|
-
},
|
|
61
|
+
}, G = (e) => {
|
|
61
62
|
a.handleVehicleTraceData(e);
|
|
62
|
-
},
|
|
63
|
+
}, K = () => {
|
|
63
64
|
a.clearHoloTrace();
|
|
64
|
-
},
|
|
65
|
+
}, U = (e) => {
|
|
65
66
|
a.setInterpolate(e);
|
|
66
|
-
},
|
|
67
|
+
}, $ = async (e) => {
|
|
67
68
|
await a.handleSignalData(e);
|
|
68
|
-
},
|
|
69
|
+
}, J = () => {
|
|
69
70
|
a.clearHoloSignal();
|
|
70
|
-
},
|
|
71
|
+
}, W = (e) => {
|
|
71
72
|
n == null || n.toggleTrafficInfo(e), a.toggleTrafficInfo(e);
|
|
72
|
-
},
|
|
73
|
+
}, X = (e) => {
|
|
73
74
|
a.togglePause(e);
|
|
74
|
-
},
|
|
75
|
+
}, Y = (e) => {
|
|
75
76
|
n == null || n.toggleTrafficObject(e), a.toggleTrafficObject(e);
|
|
76
|
-
},
|
|
77
|
+
}, ee = (e) => {
|
|
77
78
|
a.updatePanelContent(e);
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
u || (u = new
|
|
82
|
-
},
|
|
79
|
+
}, te = async (e) => (o || (o = new Qe(s)), o.addOverlays(e)), ae = (e) => o == null ? void 0 : o.removeOverlaysByType(e), ne = (e) => o == null ? void 0 : o.removeOverlaysById(e), oe = () => o == null ? void 0 : o.removeAllOverlays(), re = () => {
|
|
80
|
+
o == null || o.showAllOverlays();
|
|
81
|
+
}, se = (e) => {
|
|
82
|
+
u || (u = new je(s)), u.updateQueueLength(e);
|
|
83
|
+
}, ie = () => {
|
|
83
84
|
u == null || u.removeQueueLength();
|
|
84
|
-
},
|
|
85
|
+
}, ce = async (e, l) => (t || (t = new k(s)), await t.showOpenDriveFromServer(e, l)), le = async (e) => (t || (t = new k(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), ue = async () => await (t == null ? void 0 : t.clearOpenDrive()), me = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : {
|
|
85
86
|
status: -1,
|
|
86
87
|
message: "未加载OpenDrive地图"
|
|
87
|
-
},
|
|
88
|
+
}, pe = async (e) => t ? t.selectSumo(e) : {
|
|
88
89
|
status: -1,
|
|
89
90
|
message: "未加载OpenDrive地图"
|
|
90
|
-
},
|
|
91
|
+
}, ge = async (e) => t ? t.unselectSumo(e) : {
|
|
91
92
|
status: -1,
|
|
92
93
|
message: "未加载OpenDrive地图"
|
|
93
|
-
},
|
|
94
|
+
}, fe = async (e) => t ? await t.getSumoInfo(e) : {
|
|
94
95
|
status: -1,
|
|
95
96
|
message: "未加载OpenDrive地图"
|
|
96
|
-
},
|
|
97
|
+
}, we = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : {
|
|
97
98
|
status: -1,
|
|
98
99
|
message: "未加载OpenDrive地图"
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
},
|
|
102
|
-
return
|
|
103
|
-
mapViewer:
|
|
104
|
-
setLayerVisibility:
|
|
105
|
-
setMapCenter:
|
|
106
|
-
lookAt:
|
|
107
|
-
setMapCamera:
|
|
108
|
-
setMapZoomRange:
|
|
109
|
-
requestCoordinateTransform:
|
|
110
|
-
cancelCoordinateTransform:
|
|
111
|
-
addOverlays:
|
|
112
|
-
showAllOverlays:
|
|
113
|
-
removeOverlaysByType:
|
|
114
|
-
removeOverlaysById:
|
|
115
|
-
removeAllOverlays:
|
|
116
|
-
showLaneNumber:
|
|
117
|
-
clearLaneNumber:
|
|
118
|
-
initializeAreaTool:
|
|
119
|
-
calCrossIndicatorArea:
|
|
120
|
-
calRoadIndicatorArea:
|
|
121
|
-
connectCarFlow:
|
|
122
|
-
disconnectCarFlow:
|
|
123
|
-
handleHoloVehicleTraceData:
|
|
124
|
-
clearHoloTrace:
|
|
125
|
-
handleHoloSignalData:
|
|
126
|
-
clearHoloSignal:
|
|
127
|
-
setInterpolate:
|
|
128
|
-
toggleTrafficInfo:
|
|
129
|
-
toggleTrafficObject:
|
|
130
|
-
toggleVehicleInfo:
|
|
131
|
-
togglePause:
|
|
132
|
-
updateQueueLength:
|
|
133
|
-
removeQueueLength:
|
|
134
|
-
showOpenDriveFromServer:
|
|
135
|
-
showOpenDriveFromFile:
|
|
136
|
-
clearOpenDrive:
|
|
137
|
-
findSumoInOpenDrive:
|
|
138
|
-
selectSumoInOpenDrive:
|
|
139
|
-
unselectSumoInOpenDrive:
|
|
140
|
-
getSumoInfo:
|
|
141
|
-
splitOpenDriveLane:
|
|
142
|
-
showSignalControlArea:
|
|
143
|
-
clearSignalControlArea:
|
|
144
|
-
locateSignalControlArea:
|
|
145
|
-
highlightSignalControlArea:
|
|
146
|
-
resetHighlightSignalControlArea:
|
|
147
|
-
}), (e, l) => (
|
|
100
|
+
}, ve = (e) => (r || (r = new Pe(s)), r.showSignalControlArea(e)), de = () => {
|
|
101
|
+
r == null || r.clearSignalControlArea();
|
|
102
|
+
}, ye = async (e) => r ? await r.locateSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, he = async (e) => r ? await r.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Se = () => r ? r.resetHighlight() : { status: -1, message: "未加载信号控制区" }, h = A, w = I;
|
|
103
|
+
return D({
|
|
104
|
+
mapViewer: b,
|
|
105
|
+
setLayerVisibility: B,
|
|
106
|
+
setMapCenter: x,
|
|
107
|
+
lookAt: V,
|
|
108
|
+
setMapCamera: M,
|
|
109
|
+
setMapZoomRange: Q,
|
|
110
|
+
requestCoordinateTransform: N,
|
|
111
|
+
cancelCoordinateTransform: z,
|
|
112
|
+
addOverlays: te,
|
|
113
|
+
showAllOverlays: re,
|
|
114
|
+
removeOverlaysByType: ae,
|
|
115
|
+
removeOverlaysById: ne,
|
|
116
|
+
removeAllOverlays: oe,
|
|
117
|
+
showLaneNumber: j,
|
|
118
|
+
clearLaneNumber: P,
|
|
119
|
+
initializeAreaTool: E,
|
|
120
|
+
calCrossIndicatorArea: F,
|
|
121
|
+
calRoadIndicatorArea: R,
|
|
122
|
+
connectCarFlow: Z,
|
|
123
|
+
disconnectCarFlow: q,
|
|
124
|
+
handleHoloVehicleTraceData: G,
|
|
125
|
+
clearHoloTrace: K,
|
|
126
|
+
handleHoloSignalData: $,
|
|
127
|
+
clearHoloSignal: J,
|
|
128
|
+
setInterpolate: U,
|
|
129
|
+
toggleTrafficInfo: W,
|
|
130
|
+
toggleTrafficObject: Y,
|
|
131
|
+
toggleVehicleInfo: ee,
|
|
132
|
+
togglePause: X,
|
|
133
|
+
updateQueueLength: se,
|
|
134
|
+
removeQueueLength: ie,
|
|
135
|
+
showOpenDriveFromServer: ce,
|
|
136
|
+
showOpenDriveFromFile: le,
|
|
137
|
+
clearOpenDrive: ue,
|
|
138
|
+
findSumoInOpenDrive: me,
|
|
139
|
+
selectSumoInOpenDrive: pe,
|
|
140
|
+
unselectSumoInOpenDrive: ge,
|
|
141
|
+
getSumoInfo: fe,
|
|
142
|
+
splitOpenDriveLane: we,
|
|
143
|
+
showSignalControlArea: ve,
|
|
144
|
+
clearSignalControlArea: de,
|
|
145
|
+
locateSignalControlArea: ye,
|
|
146
|
+
highlightSignalControlArea: he,
|
|
147
|
+
resetHighlightSignalControlArea: Se
|
|
148
|
+
}), (e, l) => (C(), Le("div", Fe, [
|
|
148
149
|
p("div", {
|
|
149
150
|
class: "gis-viewer-main",
|
|
150
151
|
ref_key: "mapContainer",
|
|
151
152
|
ref: g
|
|
152
153
|
}, [
|
|
153
|
-
|
|
154
|
+
be(p("div", Re, [
|
|
154
155
|
p("button", {
|
|
155
156
|
style: { "margin-right": "10px" },
|
|
156
|
-
onClick:
|
|
157
|
+
onClick: _
|
|
157
158
|
}, " 开始记录 "),
|
|
158
|
-
p("button", { onClick:
|
|
159
|
+
p("button", { onClick: H }, "下载日志")
|
|
159
160
|
], 512), [
|
|
160
|
-
[
|
|
161
|
-
])
|
|
161
|
+
[_e, f.value]
|
|
162
|
+
]),
|
|
163
|
+
L.value ? (C(), He(Be, {
|
|
164
|
+
key: 0,
|
|
165
|
+
view: xe(s)
|
|
166
|
+
}, null, 8, ["view"])) : Me("", !0)
|
|
162
167
|
], 512)
|
|
163
168
|
]));
|
|
164
169
|
}
|
|
165
170
|
});
|
|
166
171
|
export {
|
|
167
|
-
|
|
172
|
+
at as default
|
|
168
173
|
};
|
|
@@ -19,6 +19,7 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
|
|
|
19
19
|
openDriveRenderer: import("./utils/open-drive-renderer").default;
|
|
20
20
|
signalControlAreaController: import("./utils/signal-control-area-controller").default;
|
|
21
21
|
showLogDiv: import("vue").Ref<boolean>;
|
|
22
|
+
showGroupSelect: import("vue").Ref<boolean>;
|
|
22
23
|
mapViewer: import("vue").ComputedRef<__esri.MapView | __esri.SceneView>;
|
|
23
24
|
startSaveTrackLog: () => void;
|
|
24
25
|
downloadTrackLog: () => void;
|
|
@@ -77,6 +78,22 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
|
|
|
77
78
|
resetHighlightSignalControlArea: () => import("../types").IResult;
|
|
78
79
|
props: any;
|
|
79
80
|
emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
|
|
81
|
+
sketchTool: import("vue").DefineComponent<{
|
|
82
|
+
view: {
|
|
83
|
+
type: null;
|
|
84
|
+
required: true;
|
|
85
|
+
};
|
|
86
|
+
}, {
|
|
87
|
+
props: any;
|
|
88
|
+
sketchVM: __esri.SketchViewModel;
|
|
89
|
+
resetButtonHandler: () => void;
|
|
90
|
+
geometrySelectionHandler: (event: any) => void;
|
|
91
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
92
|
+
view: {
|
|
93
|
+
type: null;
|
|
94
|
+
required: true;
|
|
95
|
+
};
|
|
96
|
+
}>>, {}, {}>;
|
|
80
97
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick")[], "mapLoaded" | "markerClick" | "mapClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
81
98
|
config: {
|
|
82
99
|
type: StringConstructor;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import SketchViewModel from '@arcgis/core/widgets/Sketch/SketchViewModel';
|
|
2
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
3
|
+
view: {
|
|
4
|
+
type: null;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
}, {
|
|
8
|
+
props: any;
|
|
9
|
+
sketchVM: SketchViewModel;
|
|
10
|
+
resetButtonHandler: () => void;
|
|
11
|
+
geometrySelectionHandler: (event: any) => void;
|
|
12
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
view: {
|
|
14
|
+
type: null;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
}>>, {}, {}>;
|
|
18
|
+
export default _sfc_main;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { defineComponent as a, onMounted as m, onUnmounted as p, openBlock as u, createElementBlock as d, createElementVNode as n } from "vue";
|
|
2
|
+
import g from "@arcgis/core/layers/GraphicsLayer";
|
|
3
|
+
import k from "@arcgis/core/widgets/Sketch/SketchViewModel";
|
|
4
|
+
const y = { class: "gisviewer-sketch-tool gisviewer-sketch-tool-position" }, _ = /* @__PURE__ */ a({
|
|
5
|
+
__name: "sketch-tool",
|
|
6
|
+
props: {
|
|
7
|
+
view: {}
|
|
8
|
+
},
|
|
9
|
+
setup(l) {
|
|
10
|
+
const c = l;
|
|
11
|
+
let o;
|
|
12
|
+
m(() => {
|
|
13
|
+
const e = new g();
|
|
14
|
+
c.view.map.add(e), o = new k({
|
|
15
|
+
layer: e,
|
|
16
|
+
view: c.view
|
|
17
|
+
});
|
|
18
|
+
}), p(() => {
|
|
19
|
+
o.destroy();
|
|
20
|
+
});
|
|
21
|
+
const i = () => {
|
|
22
|
+
}, s = (e) => {
|
|
23
|
+
var r;
|
|
24
|
+
console.log(e);
|
|
25
|
+
const t = (r = e.target) == null ? void 0 : r.value;
|
|
26
|
+
console.log(t), o.create(t);
|
|
27
|
+
};
|
|
28
|
+
return (e, t) => (u(), d("div", y, [
|
|
29
|
+
n("button", {
|
|
30
|
+
class: "esri-icon-pan geometry-button",
|
|
31
|
+
onClick: i
|
|
32
|
+
}),
|
|
33
|
+
n("button", {
|
|
34
|
+
class: "esri-icon-checkbox-unchecked geometry-button",
|
|
35
|
+
value: "rectangle",
|
|
36
|
+
onClick: s
|
|
37
|
+
}),
|
|
38
|
+
n("button", {
|
|
39
|
+
class: "esri-icon-polygon geometry-button",
|
|
40
|
+
value: "polygon",
|
|
41
|
+
onClick: s
|
|
42
|
+
})
|
|
43
|
+
]));
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export {
|
|
47
|
+
_ as default
|
|
48
|
+
};
|
|
@@ -9,11 +9,11 @@ export default class OpenDriveRenderer {
|
|
|
9
9
|
private sectionLayer;
|
|
10
10
|
private highlightLayer;
|
|
11
11
|
private flashLayer;
|
|
12
|
+
private drawLayer;
|
|
12
13
|
private allLaneGraphics;
|
|
13
14
|
private allRefLineGraphics;
|
|
14
15
|
private mouseMoveHandler;
|
|
15
16
|
private mouseClickHandler;
|
|
16
|
-
private wasmLoader;
|
|
17
17
|
constructor(view: __esri.MapView | __esri.SceneView);
|
|
18
18
|
private projectName;
|
|
19
19
|
private openDriveServer;
|
|
@@ -49,6 +49,7 @@ export default class OpenDriveRenderer {
|
|
|
49
49
|
private currentJunctionId;
|
|
50
50
|
private hitGraphic;
|
|
51
51
|
private highlightGraphic;
|
|
52
|
+
private monitorMouseDrag;
|
|
52
53
|
/**
|
|
53
54
|
* 监听鼠标移动事件,高亮显示鼠标所在路段和路口
|
|
54
55
|
*/
|
|
@@ -3,15 +3,14 @@ import * as j from "@arcgis/core/core/promiseUtils";
|
|
|
3
3
|
import { Polygon as O } from "@arcgis/core/geometry";
|
|
4
4
|
import * as I from "@arcgis/core/geometry/geometryEngine";
|
|
5
5
|
import G from "@arcgis/core/layers/FeatureLayer";
|
|
6
|
-
import
|
|
6
|
+
import f from "@arcgis/core/layers/GraphicsLayer";
|
|
7
7
|
import m from "axios";
|
|
8
8
|
import F from "md5";
|
|
9
9
|
import S from "pako";
|
|
10
10
|
import A from "../common-utils.mjs";
|
|
11
|
-
import $ from "./wasm-loader.mjs";
|
|
12
11
|
class C {
|
|
13
12
|
constructor(e) {
|
|
14
|
-
this.
|
|
13
|
+
this.projectName = "", this.openDriveServer = "", this.currentSectionCode = "", this.currentJunctionId = "", this.view = e, this.view.popup.visibleElements = {
|
|
15
14
|
closeButton: !1,
|
|
16
15
|
collapseButton: !1,
|
|
17
16
|
actionBar: !1
|
|
@@ -273,13 +272,14 @@ class C {
|
|
|
273
272
|
}
|
|
274
273
|
}
|
|
275
274
|
]
|
|
276
|
-
}), this.junctionLayer = new
|
|
275
|
+
}), this.junctionLayer = new f({ id: "OpenDriveJunction" }), this.sectionLayer = new f({ id: "OpenDriveSection" }), this.highlightLayer = new f({ id: "OpenDriveHighlight" }), this.flashLayer = new f({ id: "OpenDriveFlash" }), this.drawLayer = new f({ id: "Draw" }), this.view.map.addMany([
|
|
277
276
|
this.laneLayer,
|
|
278
277
|
this.junctionLayer,
|
|
279
278
|
this.sectionLayer,
|
|
280
279
|
this.roadNameLayer,
|
|
281
280
|
this.highlightLayer,
|
|
282
|
-
this.flashLayer
|
|
281
|
+
this.flashLayer,
|
|
282
|
+
this.drawLayer
|
|
283
283
|
]);
|
|
284
284
|
}
|
|
285
285
|
static getInstance(e) {
|
|
@@ -299,7 +299,7 @@ class C {
|
|
|
299
299
|
* @returns
|
|
300
300
|
*/
|
|
301
301
|
async showOpenDriveFromFile(e) {
|
|
302
|
-
var d,
|
|
302
|
+
var d, g;
|
|
303
303
|
this.openDriveClickCallback = e.selectedCallback, console.time("md5用时");
|
|
304
304
|
const t = await this.makeMd5FromFile(e.file);
|
|
305
305
|
if (t.status !== 0)
|
|
@@ -336,7 +336,7 @@ class C {
|
|
|
336
336
|
await this.showAllLanes(
|
|
337
337
|
c,
|
|
338
338
|
((d = e.options) == null ? void 0 : d.showJunctionLane) || !1,
|
|
339
|
-
((
|
|
339
|
+
((g = e.options) == null ? void 0 : g.showRoadName) || !0
|
|
340
340
|
);
|
|
341
341
|
const h = o.data.result.junctions;
|
|
342
342
|
if (this.showJunction(h), e.options && e.options.centerMap !== !1) {
|
|
@@ -388,7 +388,7 @@ class C {
|
|
|
388
388
|
const { id: c, refLine: h } = r;
|
|
389
389
|
let d = r.name;
|
|
390
390
|
d.includes("(") && (d = d.slice(0, d.indexOf("("))), d = d.replace(/(.)/g, "$1 ");
|
|
391
|
-
const
|
|
391
|
+
const g = new p({
|
|
392
392
|
geometry: {
|
|
393
393
|
type: "polyline",
|
|
394
394
|
paths: [h]
|
|
@@ -399,18 +399,18 @@ class C {
|
|
|
399
399
|
roadName: d
|
|
400
400
|
}
|
|
401
401
|
});
|
|
402
|
-
this.allRefLineGraphics.push(
|
|
402
|
+
this.allRefLineGraphics.push(g), r.laneSections.sort((u, w) => Number(u.id) - Number(w.id));
|
|
403
403
|
for (let u = 0; u < r.laneSections.length; u++) {
|
|
404
|
-
const
|
|
405
|
-
for (const y of
|
|
406
|
-
const
|
|
407
|
-
if (
|
|
404
|
+
const w = r.laneSections[u], L = Number(w.id);
|
|
405
|
+
for (const y of w.lanePaths) {
|
|
406
|
+
const b = Number(y.id);
|
|
407
|
+
if (b === 0)
|
|
408
408
|
continue;
|
|
409
409
|
const N = y.type, v = y.innerPath.concat(
|
|
410
410
|
y.outerPath.reverse()
|
|
411
411
|
);
|
|
412
412
|
if (v.length <= 3) {
|
|
413
|
-
console.warn(`lane ${
|
|
413
|
+
console.warn(`lane ${b} has less than 3 points`);
|
|
414
414
|
continue;
|
|
415
415
|
}
|
|
416
416
|
v.push(y.innerPath[0]);
|
|
@@ -422,12 +422,12 @@ class C {
|
|
|
422
422
|
geometry: D,
|
|
423
423
|
attributes: {
|
|
424
424
|
ObjectID: l++,
|
|
425
|
-
id: `${c}+${L}+${
|
|
425
|
+
id: `${c}+${L}+${b}`,
|
|
426
426
|
roadId: c,
|
|
427
427
|
roadName: r.name,
|
|
428
428
|
sectionId: L,
|
|
429
429
|
sectionIndex: u,
|
|
430
|
-
laneId:
|
|
430
|
+
laneId: b,
|
|
431
431
|
type: N,
|
|
432
432
|
sumoId: ""
|
|
433
433
|
}
|
|
@@ -489,6 +489,8 @@ class C {
|
|
|
489
489
|
}
|
|
490
490
|
this.junctionLayer.addMany(t);
|
|
491
491
|
}
|
|
492
|
+
monitorMouseDrag() {
|
|
493
|
+
}
|
|
492
494
|
/**
|
|
493
495
|
* 监听鼠标移动事件,高亮显示鼠标所在路段和路口
|
|
494
496
|
*/
|
|
@@ -92,11 +92,11 @@ class C {
|
|
|
92
92
|
const r = e.getAllCrossCoordinates();
|
|
93
93
|
if (r.length > 2) {
|
|
94
94
|
const i = c.featureCollection(
|
|
95
|
-
r.map((
|
|
95
|
+
r.map((d) => c.point(d))
|
|
96
96
|
), l = g(i);
|
|
97
97
|
if (!l)
|
|
98
98
|
return;
|
|
99
|
-
const
|
|
99
|
+
const u = y(
|
|
100
100
|
l.geometry,
|
|
101
101
|
// 区控面积更大,需要更大的缓冲半径
|
|
102
102
|
t ? 200 : 30,
|
|
@@ -119,10 +119,6 @@ class C {
|
|
|
119
119
|
label: "子区数量"
|
|
120
120
|
}
|
|
121
121
|
] : o = [
|
|
122
|
-
{
|
|
123
|
-
fieldName: "parentId",
|
|
124
|
-
label: "区控编号"
|
|
125
|
-
},
|
|
126
122
|
{
|
|
127
123
|
fieldName: "parentName",
|
|
128
124
|
label: "区控名称"
|
|
@@ -139,7 +135,7 @@ class C {
|
|
|
139
135
|
const n = new h({
|
|
140
136
|
geometry: {
|
|
141
137
|
type: "polygon",
|
|
142
|
-
rings:
|
|
138
|
+
rings: u.geometry.coordinates
|
|
143
139
|
},
|
|
144
140
|
symbol: {
|
|
145
141
|
type: "simple-fill",
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.gis-viewer{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}
|
|
1
|
+
.gis-viewer{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}.gisviewer-sketch-tool-position[data-v-ac0f5d06]{position:absolute;top:10px;right:10px;z-index:1000}.gisviewer-sketch-tool[data-v-ac0f5d06]{display:flex;flex-direction:row}.geometry-button-selected[data-v-ac0f5d06]{background:#4c4c4c;color:#fff}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=(e,o)=>{const t=e.__vccOpts||e;for(const[r,s]of o)t[r]=s;return t};exports.default=u;
|
|
@@ -30,6 +30,7 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
30
30
|
openDriveRenderer: OpenDriveRenderer;
|
|
31
31
|
signalControlAreaController: SignalControlAreaController;
|
|
32
32
|
showLogDiv: import("vue").Ref<boolean>;
|
|
33
|
+
showGroupSelect: import("vue").Ref<boolean>;
|
|
33
34
|
mapViewer: import("vue").ComputedRef<MapView | SceneView>;
|
|
34
35
|
startSaveTrackLog: () => void;
|
|
35
36
|
downloadTrackLog: () => void;
|
|
@@ -88,6 +89,22 @@ declare const _sfc_main: import("vue").DefineComponent<{
|
|
|
88
89
|
resetHighlightSignalControlArea: () => import("../types").IResult;
|
|
89
90
|
props: any;
|
|
90
91
|
emit: (event: "mapLoaded" | "markerClick" | "mapClick", ...args: any[]) => void;
|
|
92
|
+
sketchTool: import("vue").DefineComponent<{
|
|
93
|
+
view: {
|
|
94
|
+
type: null;
|
|
95
|
+
required: true;
|
|
96
|
+
};
|
|
97
|
+
}, {
|
|
98
|
+
props: any;
|
|
99
|
+
sketchVM: __esri.SketchViewModel;
|
|
100
|
+
resetButtonHandler: () => void;
|
|
101
|
+
geometrySelectionHandler: (event: any) => void;
|
|
102
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
103
|
+
view: {
|
|
104
|
+
type: null;
|
|
105
|
+
required: true;
|
|
106
|
+
};
|
|
107
|
+
}>>, {}, {}>;
|
|
91
108
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick")[], "mapLoaded" | "markerClick" | "mapClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
92
109
|
config: {
|
|
93
110
|
type: StringConstructor;
|