vue-tianditu2
Version:
73 lines (72 loc) • 2.63 kB
JavaScript
import { watch as p } from "vue";
import { toLngLat as u, toLonLatNumberArray as P, toLngLats as g } from "../../../utils/converter.mjs";
function f(i) {
function t() {
i.drivingLines = [], i.walkLines = [], i.busLines = [], i.busMarkers = [], i.metroMarkers = [];
}
function h() {
i.transitPlans = [], i.transitPlanIndex = 0, i.drivingPlans = [], i.drivingPlanIndex = 0;
}
p(
() => {
const { startMarker: r, endMarker: e, routeType: s, drivingPolicy: o, transitPolicy: n } = i;
return { startMarker: r, endMarker: e, routeType: s, drivingPolicy: o, transitPolicy: n };
},
({ startMarker: r, endMarker: e, routeType: s, drivingPolicy: o, transitPolicy: n }) => {
var l, c, a, d, m, L;
if (h(), t(), r && e)
switch (s) {
case 0:
(l = i.drivingRoute) == null || l.setPolicy(o), (c = i.drivingRoute) == null || c.search(u(r), u(e));
break;
case 1:
(a = i.transitRoute) == null || a.setPolicy(n), (d = i.transitRoute) == null || d.search(u(r), u(e));
break;
case 2:
(m = i.drivingRoute) == null || m.setPolicy(4), (L = i.drivingRoute) == null || L.search(u(r), u(e));
break;
}
},
{ immediate: !0 }
), p(
() => ({ drivingPlans: i.drivingPlans, drivingPlanIndex: i.drivingPlanIndex }),
({ drivingPlans: r, drivingPlanIndex: e }) => {
var n;
t();
const { routelatlon: s } = r[e] || {};
if (!s) return;
const o = s.split(";").filter((l) => l).map(P);
i.drivingLines.push(o), (n = i.tdtMap) == null || n.setViewport(g(i.drivingLines.flat()));
},
{ immediate: !0 }
), p(
() => ({ transitPlans: i.transitPlans, transitPlanIndex: i.transitPlanIndex }),
({ transitPlans: r, transitPlanIndex: e }) => {
var o;
t();
const { segments: s } = r[e] || {};
s && (s.forEach((n) => {
const l = n.segmentLine.map(
(a) => a.linePoint.split(";").filter((d) => d).map(P)
), c = [n.stationStart, n.stationEnd].map((a) => P(a.lonlat));
switch (n.segmentType) {
case 1:
case 4:
i.walkLines.push(...l);
break;
case 2:
i.busMarkers.push(...c), i.busLines.push(...l);
break;
case 3:
i.metroMarkers.push(...c), i.busLines.push(...l);
break;
}
}), (o = i.tdtMap) == null || o.setViewport(g([...i.busLines, ...i.walkLines].flat())));
},
{ immediate: !0 }
);
}
export {
f as useWatch
};
//# sourceMappingURL=watch.mjs.map