gisviewer-vue3-arcgis
Version:
在应用中引入私服的包, 项目根目录下 新建文件 .npmrc 在 .npmrc 中对包源进行配置:
186 lines (185 loc) • 8.39 kB
JavaScript
import { defineComponent as Ze, ref as Je, onMounted as Ke, getCurrentInstance as je, onBeforeUnmount as Ue, openBlock as $e, createElementBlock as qe, createElementVNode as Qe } from "vue";
import { unByKey as Xe } from "ol/Observable";
import Ye from "../gis-map/utils/detect-gpu.mjs";
import et, { registerStore as tt } from "../stores/index.mjs";
import rt from "./utils/draw-controller.mjs";
import A from "./utils/echarts/index.mjs";
import ot from "./utils/green-wave-band-controller.mjs";
import st from "./utils/holo-flow/holo-flow-controller.mjs";
import nt from "./utils/ol-map-initializer.mjs";
import at from "./utils/open-drive/open-drive-renderer.mjs";
import it from "./utils/overlay/cluster-point-controller.mjs";
import k from "./utils/overlay/overlay-controller.mjs";
import lt from "./utils/pass-device-controller-1.mjs";
import T from "./utils/police-area-controller.mjs";
import M from "./utils/signal-control/signal-area-controller.mjs";
import ct from "./utils/signal-control/signal-cross-controller.mjs";
import V from "./utils/signal-control/signal-system-controller.mjs";
import mt from "./utils/signal-control/signal-system-controller-no-shape.mjs";
import ut from "./utils/sumo/sumo-renderer.mjs";
import N from "./utils/thematic/index.mjs";
const pt = { class: "gis-viewer" }, Tt = /* @__PURE__ */ Ze({
__name: "gis-map-ol",
props: {
config: {},
assetsRoot: {}
},
emits: ["mapLoaded", "markerClick", "mapClick", "update:zoom"],
setup(P, { expose: x, emit: E }) {
const R = Je(null);
let l, t, d = [], F = null;
const B = (e) => {
if (!Number.isFinite(e))
return;
const g = Math.round(e);
g !== F && (F = g, y("update:zoom", g));
};
let m, s, c, S, u, r, v, w, o, p, f, n, i, a, h;
Ye(), Ke(async () => {
tt();
const e = et.useAppDataStore, g = je(), { $gisviewerAssetsRoot: He } = g.appContext.config.globalProperties, C = await (await fetch(I.config)).json();
C.assetsRoot = I.assetsRoot || He, e.mapConfig = C, l = new nt(), e.olMapInitializer = l, t = l.initialize({
container: R.value,
mapConfig: C,
markerClickCallback: (D, O, b, We) => {
y("markerClick", D, O, b, We);
},
mapClickCallback: (D, O, b) => {
y("mapClick", D, O, b);
}
});
const L = t.getView();
d.push(
L.on("change:resolution", () => {
B(L.getZoom());
})
), B(t.getView().getZoom()), y("mapLoaded"), C.policeArea && (u = new T(t), await u.initialize());
});
const _ = async (e) => await l.setMapCenter(e), z = async (e) => await l.setMapCamera(e), G = async (e) => await l.setLayerVisibility(e), H = (e) => l.setMapZoom(e), W = (e) => l.getClickCoordinates(e), Z = (e) => (m || (m = new ct(t)), m.showSignalCross(e)), J = (e) => m ? m.changeShowName(e) : { success: !1, message: "SignalCrossController未初始化" }, K = () => {
m && m.clearSignalCross();
}, j = (e) => (s || (s = new V(t)), s.showSignalSystem(e)), U = (e) => s ? s.removeSignalSystem(e) : { success: !1, message: "SignalSystemController未初始化" }, $ = (e) => (s || (s = new V(t)), s.showSubSignalSystem(e)), q = (e) => s ? s.removeSubSignalSystem(e) : { success: !1, message: "SignalSystemController未初始化" }, Q = (e) => s ? s.highlight(e) : { status: -1, message: "SignalSystemController未初始化" }, X = () => s ? s.resetHighlight() : { status: -1, message: "SignalSystemController未初始化" }, Y = async (e) => (c || (c = new mt(t)), await c.showSubSignalSystemNoShape(e)), ee = () => {
c == null || c.clearSignalSystemNoShape();
}, te = (e) => {
c && c.highlightSubSignalSystemNoShape(e);
}, re = (e) => (S || (S = new it(t)), S.addClusterPoints(e)), oe = () => {
S && S.removeAllClusterPoints();
}, se = async (e) => (u || (u = new T(t)), await u.showJurisdiction(e)), ne = () => {
u && u.clearJurisdiction();
}, ae = (e) => (r || (r = new k(t)), r.addOverlays(e)), ie = (e) => {
r && r.removeOverlaysById(e);
}, le = (e) => {
r && r.removeOverlaysByType(e);
}, ce = () => {
r && r.removeAllOverlays();
}, me = (e) => {
r || (r = new k(t)), r.addMask(e);
}, ue = () => {
r == null || r.removeMask();
}, pe = (e) => (r || (r = new k(t)), r.flashOverlay(e)), fe = (e) => r ? r.stopFlash(e) : { status: -1, message: "OverlayController未初始化" }, ge = (e) => (v || (v = new lt(t)), v.setEdpassLayerVisibility(e)), Se = (e) => (w || (w = new ot(t)), w.showGreenWaveBand(e)), we = (e) => {
w && w.removeGreenWaveBand(e);
}, he = (e) => (o || (o = new M(t)), o.show(e)), ye = () => {
o && o.clear();
}, Ce = (e) => o ? o.highlight(e) : { status: -1, message: "SignalAreaController未初始化" }, de = () => o ? o.resetHighlight() : { status: -1, message: "SignalAreaController未初始化" }, ve = (e) => o ? o.setLayerVisibility(e) : { status: -1, message: "SignalAreaController未初始化" }, De = async (e) => (o || (o = new M(t)), o.showDistrict(e)), Oe = async (e) => (o || (o = new M(t)), o.showSubDistrict(e)), be = (e) => (p || (p = new rt(t)), p.startDraw(e)), Ae = () => {
p && p.stopDraw();
}, ke = () => {
p && p.clearDraw();
}, Me = async (e) => {
f || (f = new st(t)), f.handleVehicleTraceData(e);
}, Re = (e) => {
n || (n = new A(t)), n.showODLines(e);
}, Fe = () => {
n && n.clearODLines();
}, Be = (e) => {
n || (n = new A(t)), n.showRandomODLines(e);
}, Ie = (e) => {
n || (n = new A(t)), n.showTrace(e);
}, Le = async (e) => (i || (i = new at(t)), await i.showOpenDriveFromFile(e)), Te = async () => {
i && i.clearOpenDrive();
}, Ve = async (e) => {
i && i.selectComputable(e);
}, Ne = async (e) => {
i && i.unSelectComputable(e);
}, Pe = async (e) => (h || (h = new ut(t)), await h.showSumoFromFile(e)), xe = async () => {
h && h.clearSumo();
}, Ee = (e) => {
a || (a = new N(t)), a.showRoadFlow(e);
}, _e = () => {
a && a.clearRoadFlow();
}, ze = async (e) => (a || (a = new N(t)), await a.showRoadIndex(e)), Ge = () => {
a && a.clearRoadIndex();
};
Ue(() => {
a == null || a.destroy(), i == null || i.destroy(), f == null || f.destroy(), n == null || n.destroy(), d.forEach((e) => Xe(e)), d = [];
});
const I = P, y = E;
return x({
setMapCenter: _,
setMapCamera: z,
setMapZoom: H,
getClickCoordinates: W,
setLayerVisibility: G,
showSignalCross: Z,
showSignalSystem: j,
removeSignalSystem: U,
showSubSignalSystem: $,
removeSubSignalSystem: q,
highlightSignalSystem: Q,
resetHighlightSignalSystem: X,
showSubSignalSystemNoShape: Y,
clearSubSignalSystemNoShape: ee,
highlightSubSignalSystemNoShape: te,
clearSignalCross: K,
changeSignalCrossShowName: J,
showSignalControlArea: he,
clearSignalControlArea: ye,
setSignalControlAreaVisibility: ve,
highlightSignalControlArea: Ce,
resetHighlightSignalControlArea: de,
showDistrictArea: De,
showSubDistrictArea: Oe,
addClusterPoints: re,
removeAllClusterPoints: oe,
showPoliceArea: se,
clearPoliceArea: ne,
addOverlays: ae,
removeOverlaysById: ie,
removeOverlaysByType: le,
removeAllOverlays: ce,
addMask: me,
removeMask: ue,
flashOverlay: pe,
stopFlashOverlay: fe,
setEdpassLayerVisibility: ge,
showGreenWaveBand: Se,
removeGreenWaveBand: we,
startDraw: be,
stopDraw: Ae,
clearDraw: ke,
handleHoloVehicleTraceData: Me,
showODLines: Re,
clearODLines: Fe,
showRandomODLines: Be,
showTrace: Ie,
showOpenDriveFromFile: Le,
clearOpenDrive: Te,
showSumoFromFile: Pe,
clearSumo: xe,
selectComputableInOpenDrive: Ve,
unselectSumoInOpenDrive: Ne,
showRoadFlowThematicMap: Ee,
clearRoadFlowThematicMap: _e,
showRoadsectIndexThematicMap: ze,
clearRoadsectIndexThematicMap: Ge
}), (e, g) => ($e(), qe("div", pt, [
Qe("div", {
id: "divCMap",
class: "gis-viewer-main",
ref_key: "mapContainer",
ref: R
}, null, 512)
]));
}
});
export {
Tt as default
};