UNPKG

gisviewer-vue3-arcgis

Version:

在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:

232 lines (231 loc) 10.2 kB
import { defineComponent as $e, ref as k, reactive as qe, onMounted as Ke, getCurrentInstance as Je, onUnmounted as Re, computed as Xe, openBlock as O, createElementBlock as L, createElementVNode as f, withDirectives as Ye, vShow as Fe, Fragment as et, renderList as tt, createBlock as at } from "vue"; import D, { registerStore as nt } from "./stores/index.mjs"; import "./style/index.css"; import rt from "./utils/detect-gpu.mjs"; import T from "./utils/green-wave-band-controller/index.mjs"; import st from "./utils/holo-flow/index.mjs"; import ot from "./utils/holo-flow/signal-countdown-panel.vue.mjs"; import it from "./utils/map-initializer.mjs"; import B from "./utils/open-drive-renderer/index.mjs"; import I from "./utils/overlay.mjs"; import ct from "./utils/queue-length.mjs"; import M from "./utils/road-config-tool/index.mjs"; import lt from "./utils/signal-control-area/edit-area.mjs"; import ut from "./utils/signal-control-area/show-area.mjs"; import mt from "./utils/traffic-flow.mjs"; const pt = { class: "gis-viewer" }, gt = { style: { position: "absolute", bottom: "80px", left: "10px", "z-index": "9999" } }, Bt = /* @__PURE__ */ $e({ __name: "gis-map", props: { config: {}, assetsRoot: {} }, emits: ["mapLoaded", "markerClick", "mapClick"], setup(_, { expose: x, emit: V }) { const S = k(null); let s, u, c, o, a, n, d, t, l, r, m; const y = k(!1); nt(); const G = D.useAppDataStore, b = qe([]); rt(), Ke(async () => { if (!S.value) return; document.addEventListener("keydown", (g) => { g.ctrlKey && g.key === "i" && (y.value = !y.value); }); const e = Je(), { $gisviewerAssetsRoot: p } = e.appContext.config.globalProperties, i = await (await fetch(A.config)).json(); i.assetsRoot = A.assetsRoot || p, G.mapConfig = i, u = new it(), s = await u.initialize({ container: S.value, mapConfig: i, markerClickCallback: (g, w, h, Ze) => { v("markerClick", g, w, h, Ze); }, mapClickCallback: (g, w, h) => { v("mapClick", g, w, h); } }), a = new st(s, b), await a.init(), v("mapLoaded"); }), Re(() => { r == null || r.clearSignalControlArea(), t == null || t.clearOpenDrive(), a.clearHoloTrace(), a.clearHoloSignal(), o == null || o.disconnectTrafficFlow(); }); const H = Xe(() => s), z = () => { const e = D.useAppDataStore; e.saveTrackLog = !0; }, P = () => { a.downloadTrackLog(); }, W = () => { C("vehicleId"); }, N = () => { C("plateNumber"); }, E = async (e) => await u.setMapCenter(e), Q = async (e) => await u.setMapCamera(e), j = async (e) => await u.lookAt(e), U = (e) => u.setLayerVisibility(e), Z = (e, p) => u.requestCoordinateTransform(e, p), $ = (e) => { u.cancelCoordinateTransform(e); }, q = (e) => { u.setMapZoomRange(e); }, K = (e) => (c || (c = new M(s)), c.showLaneNumber(e)), J = () => { c == null || c.clearLaneNumber(); }, R = async (e) => (c || (c = new M(s)), await c.initializeSearch(e)), X = async () => c == null ? void 0 : c.calCrossIndicatorArea(), Y = async () => { }, F = async (e, p) => { o || (o = new mt(s)), o.connectTrafficFlow(e, p); }, ee = () => { o == null || o.disconnectTrafficFlow(); }, te = async (e) => { a.handleVehicleTraceData(e); }, ae = () => { a.clearHoloTrace(); }, ne = (e) => { a.setInterpolate(e); }, re = async (e) => { await a.handleSignalData(e); }, se = async (e) => { await a.initializeLampGroup(e); }, oe = (e) => { a.handleUniSignalData(e); }, ie = () => { a.clearHoloSignal(); }, ce = (e) => { o == null || o.toggleTrafficInfo(e), a == null || a.toggleTrafficInfo(e); }, le = (e) => { a == null || a.togglePause(e); }, ue = (e) => { o == null || o.toggleTrafficObject(e), a == null || a.toggleTrafficObject(e); }, C = (e) => { a == null || a.updatePanelContent(e); }, me = async (e) => (n || (n = new I(s)), n.addOverlays(e)), pe = (e) => (n || (n = new I(s)), n.addMask(e)), ge = () => { n == null || n.removeMask(); }, de = (e) => n == null ? void 0 : n.removeOverlaysByType(e), fe = (e) => n == null ? void 0 : n.removeOverlaysById(e), Se = () => n == null ? void 0 : n.removeAllOverlays(), ye = () => { n == null || n.showAllOverlays(); }, Ce = (e) => { d || (d = new ct(s)), d.updateQueueLength(e); }, ve = () => { d == null || d.removeQueueLength(); }, we = async (e, p) => (t || (t = new B(s)), await t.showOpenDriveFromServer(e, p)), he = async (e) => (t || (t = new B(s)), await t.clearOpenDrive(), await t.showOpenDriveFromFile(e)), Oe = async () => await (t == null ? void 0 : t.clearOpenDrive()), be = async (e) => t ? await (t == null ? void 0 : t.findSumo(e)) : { status: -1, message: "未加载OpenDrive地图" }, Ae = async (e) => t ? t.selectSumo(e) : { status: -1, message: "未加载OpenDrive地图" }, ke = async (e) => t ? t.unselectSumo(e) : { status: -1, message: "未加载OpenDrive地图" }, Le = async (e) => t ? await t.geometrySearch(e) : { status: -1, message: "未加载OpenDrive地图" }, De = async (e) => t ? await t.getSumoInfo(e) : { status: -1, message: "未加载OpenDrive地图" }, Te = async (e) => t ? await (t == null ? void 0 : t.splitLane(e)) : { status: -1, message: "未加载OpenDrive地图" }, Be = async () => t ? t == null ? void 0 : t.clearSplitLane() : { status: -1, message: "未加载OpenDrive地图" }, Ie = async (e) => (r || (r = new ut(s)), await r.showSignalControlArea(e)), Me = async () => await (r == null ? void 0 : r.clearSignalControlArea()), _e = (e) => r == null ? void 0 : r.setLayerVisibility(e), xe = async (e) => r ? await (r == null ? void 0 : r.locateSignalControlArea(e)) : { status: -1, message: "未加载信号控制区" }, Ve = async (e) => r ? await r.highlightSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Ge = () => r ? r.resetHighlight() : { status: -1, message: "未加载信号控制区" }, He = (e) => (l || (l = new lt(s)), l.showSubSignalControlArea(e)), ze = (e) => l ? l.editSubSignalControlArea(e) : { status: -1, message: "未加载信号控制区" }, Pe = () => l ? l.stopEditSubSignalControlArea() : { status: -1, message: "未加载信号控制区" }, We = (e) => l ? l.selectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, Ne = (e) => l ? l.unselectSubSignalControlAreaCross(e) : { status: -1, message: "未加载信号控制区" }, Ee = (e) => { if (!l) return { status: -1, message: "未加载信号控制区" }; }, Qe = (e) => (m || (m = new T(s)), m.addGreenWaveBand(e)), je = () => { if (!m) return { status: -1, message: "未加载绿波带" }; m.stopAddGreenWaveBand(); }, Ue = async (e) => (m || (m = new T(s)), await m.showGreenWaveBand(e)), A = _, v = V; return x({ mapViewer: H, setLayerVisibility: U, setMapCenter: E, lookAt: j, setMapCamera: Q, setMapZoomRange: q, requestCoordinateTransform: Z, cancelCoordinateTransform: $, addOverlays: me, addMask: pe, removeMask: ge, showAllOverlays: ye, removeOverlaysByType: de, removeOverlaysById: fe, removeAllOverlays: Se, showLaneNumber: K, clearLaneNumber: J, initializeAreaTool: R, calCrossIndicatorArea: X, calRoadIndicatorArea: Y, connectCarFlow: F, disconnectCarFlow: ee, handleHoloVehicleTraceData: te, clearHoloTrace: ae, initializeLampGroup: se, handleUniSignalData: oe, handleHoloSignalData: re, clearHoloSignal: ie, setInterpolate: ne, toggleTrafficInfo: ce, toggleTrafficObject: ue, toggleVehicleInfo: C, togglePause: le, updateQueueLength: Ce, removeQueueLength: ve, showOpenDriveFromServer: we, showOpenDriveFromFile: he, clearOpenDrive: Oe, geometrySearchInOpenDrive: Le, findSumoInOpenDrive: be, selectSumoInOpenDrive: Ae, unselectSumoInOpenDrive: ke, getSumoInfo: De, splitOpenDriveLane: Te, clearSplitOpenDriveLane: Be, showSignalControlArea: Ie, clearSignalControlArea: Me, setSignalControlAreaVisibility: _e, locateSignalControlArea: xe, highlightSignalControlArea: Ve, resetHighlightSignalControlArea: Ge, showSubSignalControlArea: He, editSubSignalControlArea: ze, stopEditSubSignalControlArea: Pe, selectSubSignalControlAreaCross: We, unselectSubSignalControlAreaCross: Ne, changeSubSignalControlAreaBorderVisibility: Ee, addGreenWaveBand: Qe, stopAddGreenWaveBand: je, showGreenWaveBand: Ue }), (e, p) => (O(), L("div", pt, [ f("div", { class: "gis-viewer-main", ref_key: "mapContainer", ref: S }, [ Ye(f("div", gt, [ f("button", { style: { "margin-right": "10px" }, onClick: z }, " 开始记录 "), f("button", { style: { "margin-right": "10px" }, onClick: P }, " 下载日志 "), f("button", { style: { "margin-right": "10px" }, onClick: W }, " 显示车辆id "), f("button", { onClick: N }, "显示车辆号牌") ], 512), [ [Fe, y.value] ]) ], 512), (O(!0), L(et, null, tt(b, (i, g) => (O(), at(ot, { key: g, "display-mode": i.displayMode, flash: i.flash, "road-id": i.crossId, "cross-id": i.roadId, "map-point": i.mapPoint, "stop-line": i.stopLine, position: i.position, rotation: i.rotation, scale: i.scale, "lamp-status": i.lampStatus }, null, 8, ["display-mode", "flash", "road-id", "cross-id", "map-point", "stop-line", "position", "rotation", "scale", "lamp-status"]))), 128)) ])); } }); export { Bt as default };