bigmap-plugin 1.0.3 → 1.0.5

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.
@@ -1,4 +1,4 @@
1
- import { ref as T, shallowRef as we, onBeforeUnmount as In, onUnmounted as $, isRef as Qe, watch as Ye, computed as R, defineComponent as U, createVNode as f, createTextVNode as L, useSlots as xn, mergeProps as qe, onMounted as Ft, Teleport as An, Fragment as Ln, Suspense as kn } from "vue";
1
+ import { ref as T, shallowRef as we, onBeforeUnmount as xn, onUnmounted as G, isRef as Qe, watch as Ye, computed as R, defineComponent as U, createVNode as f, createTextVNode as L, useSlots as An, mergeProps as qe, onMounted as Ft, Teleport as Ln, Fragment as kn, Suspense as _n } from "vue";
2
2
  const ct = {
3
3
  debug: 10,
4
4
  info: 20,
@@ -6,7 +6,7 @@ const ct = {
6
6
  error: 40,
7
7
  silent: Number.POSITIVE_INFINITY
8
8
  }, Me = "[sems-map]";
9
- function _n() {
9
+ function Pn() {
10
10
  try {
11
11
  const e = typeof process < "u" ? process.env : void 0;
12
12
  if (e && e.NODE_ENV === "production") return "warn";
@@ -14,11 +14,11 @@ function _n() {
14
14
  }
15
15
  return "debug";
16
16
  }
17
- let et = _n();
18
- function qo(e) {
17
+ let et = Pn();
18
+ function Ko(e) {
19
19
  et = e;
20
20
  }
21
- function Ko() {
21
+ function Xo() {
22
22
  return et;
23
23
  }
24
24
  function Ie(e) {
@@ -116,7 +116,7 @@ class Nt {
116
116
  }));
117
117
  }
118
118
  }
119
- const Xo = new Nt(), Ce = /* @__PURE__ */ new Map();
119
+ const Zo = new Nt(), Ce = /* @__PURE__ */ new Map();
120
120
  function ee(e) {
121
121
  Ce.set(e.type, e);
122
122
  }
@@ -231,22 +231,22 @@ ee({
231
231
  material: t.fill
232
232
  })
233
233
  });
234
- function Zo(e) {
234
+ function Jo(e) {
235
235
  Ce.set(e.type, e);
236
236
  }
237
- function Pn(e) {
237
+ function Bn(e) {
238
238
  return Ce.get(e);
239
239
  }
240
- function Bn() {
240
+ function Rn() {
241
241
  return [...Ce.values()];
242
242
  }
243
- function Rn() {
243
+ function zn() {
244
244
  return [...Ce.values()].filter((e) => e.inDefaultToolbar !== !1).sort(
245
245
  (e, t) => (e.toolbarOrder ?? Number.MAX_SAFE_INTEGER) - (t.toolbarOrder ?? Number.MAX_SAFE_INTEGER)
246
246
  );
247
247
  }
248
- function zn() {
249
- return Rn().map((e) => ({
248
+ function Fn() {
249
+ return zn().map((e) => ({
250
250
  icon: e.type,
251
251
  name: e.name,
252
252
  size: e.defaultSize
@@ -276,10 +276,10 @@ const tt = "/libs", ye = {
276
276
  DEBOUNCE_DELAY: 300,
277
277
  /** 点位网格索引的网格尺寸(经纬度) */
278
278
  GRID_SIZE: 0.1
279
- }, Vt = zn(), Fn = {
279
+ }, Vt = Fn(), Ot = ["bigemap.dc-satellite", "bigemap.dc-street"], Nn = {
280
280
  spacing: 150,
281
281
  width: 2
282
- }, Nn = {
282
+ }, Vn = {
283
283
  autoPlay: !1,
284
284
  speed: 1,
285
285
  loop: !1,
@@ -294,7 +294,7 @@ const tt = "/libs", ye = {
294
294
  lineColor: "#0a84ff",
295
295
  lineWidth: 4,
296
296
  maxPoints: 2e4
297
- }, Vn = {
297
+ }, On = {
298
298
  fillColor: "#000000",
299
299
  fillAlpha: 0.8,
300
300
  outlineColor: "#44d5ff",
@@ -302,7 +302,7 @@ const tt = "/libs", ye = {
302
302
  outlineWidth: 4,
303
303
  showOutline: !0
304
304
  // outerRing: 默认不指定,运行时按保留区域边界自动外扩推导(避开"整环球"劣化三角剖分无法渲染)
305
- }, Ot = {
305
+ }, $t = {
306
306
  containerId: "bigmap-container",
307
307
  // serverUrl 由使用方传入(地图资源/瓦片服务地址),插件核心不再内置默认地址
308
308
  libsUrl: tt,
@@ -310,6 +310,7 @@ const tt = "/libs", ye = {
310
310
  position: ye,
311
311
  mapId: "bigemap.cebjohn0",
312
312
  terrainId: "bigemap.dc-terrain",
313
+ baseLayers: Ot,
313
314
  // ---------------- UI / 功能默认值 ----------------
314
315
  showSearch: !1,
315
316
  showControls: !0,
@@ -326,7 +327,7 @@ const tt = "/libs", ye = {
326
327
  CAMERA_FOV_DEGREES: 60,
327
328
  /** 相机最小高度(m) */
328
329
  MIN_CAMERA_HEIGHT: 1e3
329
- }, On = 500, Gn = 800, $n = 200, Wn = 900, Un = 1e4, Hn = 100, jn = 1e3, Gt = {
330
+ }, $n = 500, Gn = 800, Wn = 200, Un = 900, Hn = 1e4, jn = 100, Yn = 1e3, Gt = {
330
331
  /** 近处可见距离(m),同时作为 disableDepthTestDistance:近距图标不穿地 */
331
332
  NEAR: 3e3,
332
333
  /** 近处缩放值 */
@@ -335,7 +336,7 @@ const tt = "/libs", ye = {
335
336
  FAR: 1e5,
336
337
  /** 远处缩放值 */
337
338
  FAR_VALUE: 0.1
338
- }, Yn = 6, qn = 1001, G = {
339
+ }, qn = 6, Kn = 1001, $ = {
339
340
  1: { color: "#9E9E9E", text: "未发布" },
340
341
  2: { color: "#2196F3", text: "已发布" },
341
342
  3: { color: "#FF9800", text: "未完成" },
@@ -350,8 +351,8 @@ const tt = "/libs", ye = {
350
351
  12: { color: "#673AB7", text: "已变观" },
351
352
  13: { color: "#607D8B", text: "任务终止" },
352
353
  default: { color: "#2196F3", text: "未知状态" }
353
- }, Jo = (e) => G[e] || G.default;
354
- function Kn(e) {
354
+ }, Qo = (e) => $[e] || $.default;
355
+ function Xn(e) {
355
356
  if (!e) return {};
356
357
  const t = {};
357
358
  for (const n of Object.keys(e)) {
@@ -361,17 +362,17 @@ function Kn(e) {
361
362
  return t;
362
363
  }
363
364
  function Ke(...e) {
364
- const t = { ...Ot };
365
+ const t = { ...$t };
365
366
  for (const n of e) {
366
- const r = Kn(n);
367
+ const r = Xn(n);
367
368
  Object.assign(t, r), r.geoserver && (t.geoserver = { ...t.geoserver || {}, ...r.geoserver });
368
369
  }
369
370
  return t;
370
371
  }
371
- function Xn(e, t) {
372
+ function Zn(e, t) {
372
373
  return Ke(e, t);
373
374
  }
374
- class Zn {
375
+ class Jn {
375
376
  constructor(t) {
376
377
  this.config = Ke(t);
377
378
  }
@@ -403,10 +404,10 @@ class Zn {
403
404
  * 重置为默认配置
404
405
  */
405
406
  reset() {
406
- this.config = { ...Ot };
407
+ this.config = { ...$t };
407
408
  }
408
409
  }
409
- class Jn {
410
+ class Qn {
410
411
  constructor() {
411
412
  this.resources = /* @__PURE__ */ new Set();
412
413
  }
@@ -445,7 +446,7 @@ class Jn {
445
446
  return this.resources.size;
446
447
  }
447
448
  }
448
- function Qn(e) {
449
+ function er(e) {
449
450
  return {
450
451
  isReady: !1,
451
452
  isLoading: !1,
@@ -455,13 +456,13 @@ function Qn(e) {
455
456
  error: null
456
457
  };
457
458
  }
458
- function er(e) {
459
+ function tr(e) {
459
460
  return {
460
- configManager: new Zn(e),
461
+ configManager: new Jn(e),
461
462
  eventBus: new Nt(),
462
- resourceManager: new Jn(),
463
+ resourceManager: new Qn(),
463
464
  map: we(null),
464
- state: T(Qn(e.mapType || "3d")),
465
+ state: T(er(e.mapType || "3d")),
465
466
  cancelled: { value: !1 },
466
467
  destroyed: { value: !1 },
467
468
  initializing: { value: !1 }
@@ -479,10 +480,11 @@ const dt = tt, ft = {
479
480
  path: "/libs/bigemap/bigemap.css",
480
481
  isCss: !0
481
482
  },
482
- // bigemap-gl 引擎及样式已随包发布到本地 /libs,无需依赖地图服务器,避免服务器关闭时初始化失败
483
+ // bigemap-gl 引擎按线上地址加载(/bigemap-gl.js/v1.1.0/... 为公开资源路径,无需鉴权),
484
+ // 其 Workers/ 与引擎同源同目录,worker 自然解析到线上,避免本地缺 worker 报 importScripts 失败
483
485
  "bigemap-3d": {
484
486
  name: "BigMap 3D",
485
- path: "/libs/bigemap/bigemap-gl.js",
487
+ path: "/bigemap-gl.js/v1.1.0/bigemap-gl.js",
486
488
  dependencies: ["bigemap-3d-css"]
487
489
  },
488
490
  "bigemap-3d-css": {
@@ -527,7 +529,7 @@ function ht(e, t, n) {
527
529
  return e.path;
528
530
  }
529
531
  const xe = 3e4;
530
- class tr {
532
+ class nr {
531
533
  constructor() {
532
534
  this.loaded = /* @__PURE__ */ new Set(), this.pending = /* @__PURE__ */ new Map();
533
535
  }
@@ -616,9 +618,9 @@ class tr {
616
618
  this.loaded.clear(), this.pending.clear();
617
619
  }
618
620
  }
619
- const $t = new tr();
621
+ const Wt = new nr();
620
622
  let pe = null;
621
- function nr(e) {
623
+ function rr(e) {
622
624
  pe = e;
623
625
  }
624
626
  function D() {
@@ -630,7 +632,7 @@ function P() {
630
632
  throw new Error("bmgl 库未就绪:请确保地图初始化完成后再调用该能力");
631
633
  return e;
632
634
  }
633
- async function rr(e = 3e3) {
635
+ async function ir(e = 3e3) {
634
636
  const t = D();
635
637
  return t || new Promise((n, r) => {
636
638
  const i = Date.now(), a = setInterval(() => {
@@ -707,41 +709,41 @@ class oe {
707
709
  }
708
710
  }
709
711
  const _e = oe.getInstance();
710
- function ir(e, t = 3e3) {
712
+ function ar(e, t = 3e3) {
711
713
  return new Promise((n, r) => {
712
714
  const i = Date.now(), a = setInterval(() => {
713
715
  document.getElementById(e) ? (clearInterval(a), n()) : Date.now() - i > t && (clearInterval(a), r(new Error(`容器未找到: ${e}`)));
714
716
  }, 16);
715
717
  });
716
718
  }
717
- async function ar(e) {
719
+ async function or(e) {
718
720
  const t = e.configManager.get("containerId");
719
721
  if (!t) throw new Error("容器ID未定义");
720
- return await ir(t), t;
722
+ return await ar(t), t;
721
723
  }
722
- async function or(e) {
723
- const t = e.configManager.get("serverUrl"), n = e.configManager.get("libsUrl"), r = e.configManager.get("extraLibs");
724
+ async function lr(e) {
725
+ const t = e.configManager.get("serverUrl"), n = e.configManager.get("accessToken"), r = e.configManager.get("libsUrl"), i = e.configManager.get("extraLibs");
724
726
  try {
725
- await $t.loadScripts(
727
+ await Wt.loadScripts(
726
728
  ["bigemap-3d", "bmgl-plot", "circle-wave"],
727
729
  t,
728
- n,
729
- r
730
+ r,
731
+ i
730
732
  );
731
- } catch (a) {
733
+ } catch (o) {
732
734
  throw m.error(
733
735
  "[loadBmglScripts] 地图服务连接失败,请确认 serverUrl 可达且服务已启动:",
734
- a
736
+ o
735
737
  ), new Error("地图服务连接失败,请确认服务器地址正确且服务已启动");
736
738
  }
737
- const i = D();
738
- if (!i) throw new Error("BMGL 库加载失败");
739
- nr(i), i.Config.HTTP_URL = t, lr(i);
739
+ const a = D();
740
+ if (!a) throw new Error("BMGL 库加载失败");
741
+ rr(a), a.Config.HTTP_URL = t, n && (console.log("accessToken", n), a.Config.accessToken = n), sr(a);
740
742
  }
741
- function lr(e) {
743
+ function sr(e) {
742
744
  e.RequestScheduler && (e.RequestScheduler.maximumRequests = 120, e.RequestScheduler.maximumRequestsPerServer = 18);
743
745
  }
744
- function sr(e) {
746
+ function cr(e) {
745
747
  const t = D(), n = e.configManager.get("containerId");
746
748
  if (!t || !n)
747
749
  throw new Error("地图实例创建失败:BMGL 库或容器 ID 未就绪");
@@ -752,14 +754,14 @@ function sr(e) {
752
754
  selectionIndicator: !1,
753
755
  infoBox: !1
754
756
  });
755
- return cr(r, e.state.value.mapType), r;
757
+ return ur(r, e.state.value.mapType), r;
756
758
  }
757
- function cr(e, t) {
759
+ function ur(e, t) {
758
760
  t === "3d" && (e.scene.globe.depthTestAgainstTerrain = !0);
759
761
  const n = e.scene, r = e.scene.globe;
760
762
  n.preloadFlightDestinations = !0, r.tileCacheSize = 1e3, r.preloadAncestors = !0, r.preloadSiblings = !0, r.maximumScreenSpaceError = 1.5;
761
763
  }
762
- async function ur(e, t, n) {
764
+ async function dr(e, t, n) {
763
765
  if (_e.has(n))
764
766
  try {
765
767
  await _e.unregister(n);
@@ -768,41 +770,41 @@ async function ur(e, t, n) {
768
770
  }
769
771
  _e.register(n, t, e.eventBus, e.resourceManager);
770
772
  }
771
- function Wt(e) {
773
+ function Ut(e) {
772
774
  return typeof e == "number" && !Number.isNaN(e) ? e : 1e4;
773
775
  }
774
- function Ut(e, t, n) {
776
+ function Ht(e, t, n) {
775
777
  const r = D();
776
778
  if (!r) throw new Error("BMGL 库未加载,无法构造相机目标位置");
777
779
  return r.Cartesian3.fromDegrees(e, t, n);
778
780
  }
779
- function Ht() {
781
+ function jt() {
780
782
  return {
781
783
  heading: Oe.heading,
782
784
  pitch: Oe.pitch,
783
785
  roll: Oe.roll
784
786
  };
785
787
  }
786
- function dr(e) {
788
+ function fr(e) {
787
789
  const t = e.configManager.get("position");
788
790
  t && e.map.value?.camera.flyTo({
789
- destination: Ut(
791
+ destination: Ht(
790
792
  t.lng,
791
793
  t.lat,
792
- Wt(t.height)
794
+ Ut(t.height)
793
795
  ),
794
- orientation: Ht(),
796
+ orientation: jt(),
795
797
  duration: nt.FLY_TO
796
798
  });
797
799
  }
798
- function fr(e, t, n, r) {
800
+ function hr(e, t, n, r) {
799
801
  e.map.value && e.map.value.camera.flyTo({
800
- destination: Ut(t, n, Wt(r)),
801
- orientation: Ht(),
802
+ destination: Ht(t, n, Ut(r)),
803
+ orientation: jt(),
802
804
  duration: nt.FLY_TO
803
805
  });
804
806
  }
805
- function hr(e) {
807
+ function gr(e) {
806
808
  const t = D();
807
809
  if (!e.map.value || !t) return null;
808
810
  const n = e.map.value.camera.computeViewRectangle();
@@ -811,9 +813,9 @@ function hr(e) {
811
813
  maxx: t.Math.toDegrees(n.east),
812
814
  miny: t.Math.toDegrees(n.south),
813
815
  maxy: t.Math.toDegrees(n.north)
814
- } : gr(e);
816
+ } : pr(e);
815
817
  }
816
- function gr(e) {
818
+ function pr(e) {
817
819
  const t = D();
818
820
  if (!t) return null;
819
821
  const n = e.map.value, r = n.scene.globe.ellipsoid;
@@ -837,14 +839,14 @@ function gr(e) {
837
839
  return null;
838
840
  }
839
841
  }
840
- function pr(e) {
842
+ function mr(e) {
841
843
  return e.initializing.value || !!e.map.value || e.destroyed.value;
842
844
  }
843
- async function mr(e) {
844
- if (!pr(e)) {
845
+ async function vr(e) {
846
+ if (!mr(e)) {
845
847
  e.cancelled.value = !1, e.initializing.value = !0, e.state.value.isLoading = !0, e.state.value.error = null;
846
848
  try {
847
- await vr(e);
849
+ await wr(e);
848
850
  } catch (t) {
849
851
  throw e.state.value.error = t instanceof Error ? t : new Error(String(t)), await e.eventBus.emit("map:error", t), t;
850
852
  } finally {
@@ -852,17 +854,17 @@ async function mr(e) {
852
854
  }
853
855
  }
854
856
  }
855
- async function vr(e) {
856
- const t = await ar(e);
857
- if (await or(e), e.cancelled.value) return;
858
- const n = sr(e);
857
+ async function wr(e) {
858
+ const t = await or(e);
859
+ if (await lr(e), e.cancelled.value) return;
860
+ const n = cr(e);
859
861
  if (e.cancelled.value) {
860
- wr(n);
862
+ yr(n);
861
863
  return;
862
864
  }
863
- e.map.value = n, await ur(e, n, t), await dr(e), !e.cancelled.value && (e.state.value.isReady = !0, await e.eventBus.emit("map:ready"));
865
+ e.map.value = n, await dr(e, n, t), await fr(e), !e.cancelled.value && (e.state.value.isReady = !0, await e.eventBus.emit("map:ready"));
864
866
  }
865
- function wr(e) {
867
+ function yr(e) {
866
868
  try {
867
869
  e.destroy();
868
870
  } catch (t) {
@@ -879,7 +881,7 @@ async function gt(e) {
879
881
  m.error("[useMap] 销毁地图失败:", n);
880
882
  }
881
883
  }
882
- function jt(e, t, n) {
884
+ function Yt(e, t, n) {
883
885
  const r = D();
884
886
  if (!r) throw new Error("BMGL 库未加载,无法构造目标视角");
885
887
  return {
@@ -887,7 +889,7 @@ function jt(e, t, n) {
887
889
  orientation: { heading: 0, pitch: r.Math.toRadians(-90), roll: 0 }
888
890
  };
889
891
  }
890
- function yr(e) {
892
+ function Cr(e) {
891
893
  const t = e.map.value;
892
894
  if (!(!t || !e.state.value.isReady || e.state.value.mapType === "2d"))
893
895
  try {
@@ -895,7 +897,7 @@ function yr(e) {
895
897
  if (!n) throw new Error("BMGL 库未加载,无法切换 2D 模式");
896
898
  const r = n.Cartographic.fromCartesian(t.camera.position);
897
899
  t.scene.morphTo2D?.(0), e.state.value.mapType = "2d", e.eventBus.emit("map:mode-changed", "2d"), t.camera.setView(
898
- jt(
900
+ Yt(
899
901
  n.Math.toDegrees(r.longitude),
900
902
  n.Math.toDegrees(r.latitude),
901
903
  r.height
@@ -905,14 +907,14 @@ function yr(e) {
905
907
  m.error("切换到2D模式失败:", n);
906
908
  }
907
909
  }
908
- function Cr(e) {
910
+ function br(e) {
909
911
  const t = D();
910
912
  if (!t) throw new Error("BMGL 库未加载,无法计算 3D 目标视图");
911
913
  const n = t.Cartographic.fromCartesian(e.map.value.camera.position), r = {
912
914
  lng: t.Math.toDegrees(n.longitude),
913
915
  lat: t.Math.toDegrees(n.latitude),
914
916
  height: Math.max(n.height, 1e4)
915
- }, i = hr(e);
917
+ }, i = gr(e);
916
918
  if (!i) return r;
917
919
  const a = (i.minx + i.maxx) / 2, o = (i.miny + i.maxy) / 2, l = (i.maxx - i.minx) * Math.cos(o * Math.PI / 180) * Q.METERS_PER_DEGREE_LAT_APPROX, c = (i.maxy - i.miny) * Q.METERS_PER_DEGREE_LAT_APPROX, u = Math.max(l, c), s = t.Math.toRadians(Q.CAMERA_FOV_DEGREES), d = Math.max(
918
920
  u / (2 * Math.tan(s / 2)),
@@ -920,33 +922,33 @@ function Cr(e) {
920
922
  );
921
923
  return { lng: a, lat: o, height: d };
922
924
  }
923
- function br(e) {
925
+ function Er(e) {
924
926
  const t = e.map.value;
925
927
  if (!(!t || !e.state.value.isReady || e.state.value.mapType === "3d"))
926
928
  try {
927
- const n = Cr(e);
929
+ const n = br(e);
928
930
  t.scene.morphTo3D?.(0), e.state.value.mapType = "3d", e.eventBus.emit("map:mode-changed", "3d"), setTimeout(() => {
929
931
  e.map.value && e.map.value.camera.setView(
930
- jt(n.lng, n.lat, n.height)
932
+ Yt(n.lng, n.lat, n.height)
931
933
  );
932
934
  }, Gn);
933
935
  } catch (n) {
934
936
  m.error("切换到3D模式失败:", n);
935
937
  }
936
938
  }
937
- function Er(e) {
938
- e.state.value.mapType === "2d" ? br(e) : yr(e);
939
- }
940
939
  function Sr(e) {
941
- const t = er(e), n = (i, a, o) => fr(t, i, a, o), r = () => Er(t);
942
- return In(() => {
940
+ e.state.value.mapType === "2d" ? Er(e) : Cr(e);
941
+ }
942
+ function Dr(e) {
943
+ const t = tr(e), n = (i, a, o) => hr(t, i, a, o), r = () => Sr(t);
944
+ return xn(() => {
943
945
  gt(t);
944
946
  }), {
945
947
  // 状态
946
948
  map: t.map,
947
949
  state: t.state,
948
950
  // 方法
949
- initMap: () => mr(t),
951
+ initMap: () => vr(t),
950
952
  setView: n,
951
953
  toggleMapType: r,
952
954
  destroy: () => gt(t),
@@ -957,7 +959,7 @@ function Sr(e) {
957
959
  emit: t.eventBus.emit.bind(t.eventBus)
958
960
  };
959
961
  }
960
- function Dr(e) {
962
+ function Tr(e) {
961
963
  return {
962
964
  billboardCollection: null,
963
965
  billboardMap: /* @__PURE__ */ new Map(),
@@ -968,27 +970,27 @@ function Dr(e) {
968
970
  scaleByDistance: null
969
971
  };
970
972
  }
971
- function Yt(e, t, n) {
973
+ function qt(e, t, n) {
972
974
  const r = Math.floor(t / e), i = Math.floor(n / e);
973
975
  return `${r},${i}`;
974
976
  }
975
977
  function pt(e, t) {
976
- const n = Yt(e.gridSize, t.lng, t.lat), r = e.gridIndex?.get(n);
978
+ const n = qt(e.gridSize, t.lng, t.lat), r = e.gridIndex?.get(n);
977
979
  r ? r.push(t) : e.gridIndex?.set(n, [t]);
978
980
  }
979
981
  function mt(e, t) {
980
982
  if (!e.gridIndex) return;
981
- const n = Yt(e.gridSize, t.lng, t.lat), r = e.gridIndex.get(n);
983
+ const n = qt(e.gridSize, t.lng, t.lat), r = e.gridIndex.get(n);
982
984
  if (!r) return;
983
985
  const i = r.indexOf(t);
984
986
  i > -1 && r.splice(i, 1), r.length === 0 && e.gridIndex.delete(n);
985
987
  }
986
- const Tr = 1e5;
987
- function Mr(e, t) {
988
+ const Mr = 1e5;
989
+ function Ir(e, t) {
988
990
  const n = [];
989
991
  if (!e.gridIndex) return n;
990
992
  const r = Math.floor(t.west / e.gridSize), i = Math.floor(t.south / e.gridSize), a = Math.floor(t.east / e.gridSize), o = Math.floor(t.north / e.gridSize), l = (a - r + 1) * (o - i + 1), c = (u) => u.lng >= t.west && u.lng <= t.east && u.lat >= t.south && u.lat <= t.north;
991
- if (l > Tr) {
993
+ if (l > Mr) {
992
994
  for (const u of e.pointDataCache)
993
995
  c(u) && n.push(u);
994
996
  return n;
@@ -1001,13 +1003,13 @@ function Mr(e, t) {
1001
1003
  }
1002
1004
  return n;
1003
1005
  }
1004
- function Ir(e) {
1006
+ function xr(e) {
1005
1007
  let t = 1 / 0, n = 1 / 0, r = -1 / 0, i = -1 / 0;
1006
1008
  for (const [a, o] of e)
1007
1009
  a < t && (t = a), o < n && (n = o), a > r && (r = a), o > i && (i = o);
1008
1010
  return { west: t, south: n, east: r, north: i };
1009
1011
  }
1010
- function xr(e) {
1012
+ function Ar(e) {
1011
1013
  const [t, n] = e.center, r = e.radius / (Q.METERS_PER_DEGREE_LAT * Math.cos(n * Math.PI / 180)), i = e.radius / Q.METERS_PER_DEGREE_LAT;
1012
1014
  return {
1013
1015
  west: t - r,
@@ -1016,10 +1018,10 @@ function xr(e) {
1016
1018
  north: n + i
1017
1019
  };
1018
1020
  }
1019
- function Ar(e) {
1020
- return e.type === "circle" ? xr(e) : Ir(e.coordinates);
1021
+ function Lr(e) {
1022
+ return e.type === "circle" ? Ar(e) : xr(e.coordinates);
1021
1023
  }
1022
- function Lr(e, t) {
1024
+ function kr(e, t) {
1023
1025
  const [n, r] = e;
1024
1026
  let i = !1;
1025
1027
  for (let a = 0, o = t.length - 1; a < t.length; o = a++) {
@@ -1028,20 +1030,20 @@ function Lr(e, t) {
1028
1030
  }
1029
1031
  return i;
1030
1032
  }
1031
- function kr(e, t) {
1033
+ function _r(e, t) {
1032
1034
  const [n, r] = t.center, i = t.radius * t.radius, a = (e.lng - n) * Q.METERS_PER_DEGREE_LAT * Math.cos(r * Math.PI / 180), o = (e.lat - r) * Q.METERS_PER_DEGREE_LAT;
1033
1035
  return a * a + o * o <= i;
1034
1036
  }
1035
- function _r(e, t) {
1036
- return t.type === "circle" ? e.filter((n) => kr(n, t)) : t.type === "polygon" || t.type === "triangle" ? e.filter((n) => Lr([n.lng, n.lat], t.coordinates)) : e;
1037
- }
1038
1037
  function Pr(e, t) {
1039
- if (!e.gridIndex || e.pointDataCache.length === 0) return [];
1040
- const n = Ar(t);
1041
- let r = Mr(e, n);
1042
- return t.type !== "rectangle" && (r = _r(r, t)), r;
1038
+ return t.type === "circle" ? e.filter((n) => _r(n, t)) : t.type === "polygon" || t.type === "triangle" ? e.filter((n) => kr([n.lng, n.lat], t.coordinates)) : e;
1043
1039
  }
1044
1040
  function Br(e, t) {
1041
+ if (!e.gridIndex || e.pointDataCache.length === 0) return [];
1042
+ const n = Lr(t);
1043
+ let r = Ir(e, n);
1044
+ return t.type !== "rectangle" && (r = Pr(r, t)), r;
1045
+ }
1046
+ function Rr(e, t) {
1045
1047
  const { field: n, keyword: r, limit: i = 10, caseSensitive: a = !1 } = t, o = a ? r.trim() : r.trim().toLowerCase(), l = Array.isArray(n) ? n : [n], c = [];
1046
1048
  for (const u of e.pointDataCache)
1047
1049
  if (l.some((d) => {
@@ -1051,25 +1053,25 @@ function Br(e, t) {
1051
1053
  break;
1052
1054
  return c;
1053
1055
  }
1054
- const Rr = {
1056
+ const zr = {
1055
1057
  lng: "lng",
1056
1058
  lat: "lat",
1057
1059
  altitude: "altitude",
1058
1060
  id: "id"
1059
1061
  };
1060
1062
  let vt = 0, wt = !1, yt = !1;
1061
- function zr() {
1063
+ function Fr() {
1062
1064
  return wt || (wt = !0, m.warn(
1063
1065
  "[useMapPoint] 检测到未提供 id 的点位,已启用自增 id 自动生成;建议通过 fieldMapping.id 提供稳定 id 以支持 updatePoints 精确定位"
1064
1066
  )), vt += 1, `__auto_${vt}`;
1065
1067
  }
1066
- function Fr() {
1068
+ function Nr() {
1067
1069
  return typeof MessageChannel < "u" ? new Promise((e) => {
1068
1070
  const t = new MessageChannel();
1069
1071
  t.port1.onmessage = () => e(), t.port2.postMessage(0);
1070
1072
  }) : new Promise((e) => setTimeout(e, 0));
1071
1073
  }
1072
- function Nr(e, t) {
1074
+ function Vr(e, t) {
1073
1075
  if (!t.scaleByDistance) {
1074
1076
  const n = Gt;
1075
1077
  t.scaleByDistance = new e.NearFarScalar(
@@ -1081,8 +1083,8 @@ function Nr(e, t) {
1081
1083
  }
1082
1084
  return t.scaleByDistance;
1083
1085
  }
1084
- function Vr(e) {
1085
- const t = Dr(me.GRID_SIZE), n = async () => {
1086
+ function Or(e) {
1087
+ const t = Tr(me.GRID_SIZE), n = async () => {
1086
1088
  if (!t.billboardCollection && e.value) {
1087
1089
  const u = D();
1088
1090
  u && (t.billboardCollection = e.value.scene.primitives.add(
@@ -1115,7 +1117,7 @@ function Vr(e) {
1115
1117
  image: s.icon,
1116
1118
  width: s.width || d.width,
1117
1119
  height: s.height || d.height,
1118
- scaleByDistance: Nr(u, t),
1120
+ scaleByDistance: Vr(u, t),
1119
1121
  id: h,
1120
1122
  disableDepthTestDistance: Gt.NEAR,
1121
1123
  verticalOrigin: u.VerticalOrigin.BOTTOM
@@ -1130,7 +1132,7 @@ function Vr(e) {
1130
1132
  width: s?.width || 20,
1131
1133
  height: s?.height || 20,
1132
1134
  fieldMapping: {
1133
- ...Rr,
1135
+ ...zr,
1134
1136
  ...s?.fieldMapping || {}
1135
1137
  }
1136
1138
  }, p = performance.now();
@@ -1146,7 +1148,7 @@ function Vr(e) {
1146
1148
  ));
1147
1149
  continue;
1148
1150
  }
1149
- const M = V[w.fieldMapping.id], I = M != null && M !== "" ? String(M) : zr(), O = i(I), { billboard: _, position: q, lng: Z, lat: se, altitude: ce } = a(
1151
+ const M = V[w.fieldMapping.id], I = M != null && M !== "" ? String(M) : Fr(), O = i(I), { billboard: _, position: q, lng: Z, lat: se, altitude: ce } = a(
1150
1152
  C,
1151
1153
  V,
1152
1154
  w,
@@ -1163,7 +1165,7 @@ function Vr(e) {
1163
1165
  };
1164
1166
  O !== void 0 ? t.pointDataCache[O] = J : (t.cacheIdIndex.set(I, t.pointDataCache.length), t.pointDataCache.push(J)), pt(t, J);
1165
1167
  }
1166
- z + b < v && performance.now() - S >= B && (await Fr(), S = performance.now());
1168
+ z + b < v && performance.now() - S >= B && (await Nr(), S = performance.now());
1167
1169
  }
1168
1170
  x > 0 && m.warn(`[useMapPoint] 本次加载跳过 ${x} 个缺失 icon 的点位`), console.log(
1169
1171
  `[useMapPoint] ${h} ${y.length} 个点位 billboard 渲染耗时:${(performance.now() - p).toFixed(0)}ms`
@@ -1198,7 +1200,7 @@ function Vr(e) {
1198
1200
  }, c = async () => {
1199
1201
  r();
1200
1202
  };
1201
- return $(() => {
1203
+ return G(() => {
1202
1204
  try {
1203
1205
  const u = e.value?.scene;
1204
1206
  if (u?.primitives && t.billboardCollection)
@@ -1216,21 +1218,21 @@ function Vr(e) {
1216
1218
  }
1217
1219
  }), {
1218
1220
  loadPoints: o,
1219
- searchByShape: (u) => Pr(t, u),
1220
- searchByText: (u) => Br(t, u),
1221
+ searchByShape: (u) => Br(t, u),
1222
+ searchByText: (u) => Rr(t, u),
1221
1223
  updatePoints: l,
1222
1224
  clearPoints: c
1223
1225
  };
1224
1226
  }
1225
- function Or(e) {
1227
+ function $r(e) {
1226
1228
  return e?.rectangle ? "rectangle" : e?.polygon ? "polygon" : e?.polyline ? "polyline" : e?.ellipse || e?.position && e?.billboard ? "circle" : "polygon";
1227
1229
  }
1228
- function qt(e) {
1230
+ function Kt(e) {
1229
1231
  if (e.length === 0) return e;
1230
1232
  const t = e[0], n = e[e.length - 1];
1231
1233
  return (Array.isArray(t) ? t[0] === n[0] && t[1] === n[1] : t.lng === n.lng && t.lat === n.lat) ? [...e] : [...e, t];
1232
1234
  }
1233
- function Qo(e, t = 0) {
1235
+ function el(e, t = 0) {
1234
1236
  const n = D();
1235
1237
  return n ? n.Cartesian3.fromDegrees(e.lng, e.lat, t) : null;
1236
1238
  }
@@ -1247,7 +1249,7 @@ function rt(e) {
1247
1249
  const n = t.Cartographic.fromCartesian(e);
1248
1250
  return Gr(n);
1249
1251
  }
1250
- function Kt(e, t) {
1252
+ function Xt(e, t) {
1251
1253
  return [
1252
1254
  [e.lng, e.lat],
1253
1255
  [t.lng, e.lat],
@@ -1270,17 +1272,17 @@ const be = {
1270
1272
  function N(e, t) {
1271
1273
  return P().Color.fromCssColorString(e).withAlpha(t);
1272
1274
  }
1273
- function Xt(e) {
1275
+ function Zt(e) {
1274
1276
  const t = P();
1275
1277
  return e.map(
1276
1278
  (n) => Array.isArray(n) ? t.Cartesian3.fromDegrees(n[0], n[1]) : t.Cartesian3.fromDegrees(n.lng, n.lat)
1277
1279
  );
1278
1280
  }
1279
- function $r(e, t = !0) {
1281
+ function Wr(e, t = !0) {
1280
1282
  const n = P(), r = be;
1281
1283
  if (!e.coordinates || e.coordinates.length < 3)
1282
1284
  throw new Error("多边形需要至少3个坐标点");
1283
- const i = qt(e.coordinates), a = Xt(i), o = new n.Entity({
1285
+ const i = Kt(e.coordinates), a = Zt(i), o = new n.Entity({
1284
1286
  polygon: {
1285
1287
  hierarchy: new n.PolygonHierarchy(a),
1286
1288
  material: N(
@@ -1306,7 +1308,7 @@ function $r(e, t = !0) {
1306
1308
  closedCoordinates: i
1307
1309
  };
1308
1310
  }
1309
- function Wr(e, t = !0) {
1311
+ function Ur(e, t = !0) {
1310
1312
  const n = P(), r = be;
1311
1313
  if (!e.lineCoordinates || e.lineCoordinates.length < 4)
1312
1314
  throw new Error("线段需要至少2个点");
@@ -1322,7 +1324,7 @@ function Wr(e, t = !0) {
1322
1324
  }
1323
1325
  }) };
1324
1326
  }
1325
- function Ur(e) {
1327
+ function Hr(e) {
1326
1328
  const t = P(), n = be;
1327
1329
  if (!e.center) throw new Error("圆形需要中心点坐标");
1328
1330
  const r = e.radius ?? n.radius;
@@ -1348,7 +1350,7 @@ function Ur(e) {
1348
1350
  }
1349
1351
  }), center: e.center, radius: r };
1350
1352
  }
1351
- function Hr(e, t = !0) {
1353
+ function jr(e, t = !0) {
1352
1354
  const n = P(), r = be;
1353
1355
  if (!e.coordinates || e.coordinates.length < 2)
1354
1356
  throw new Error("矩形需要两个对角点坐标");
@@ -1365,9 +1367,9 @@ function Hr(e, t = !0) {
1365
1367
  e.fillAlpha ?? r.fillAlpha
1366
1368
  )
1367
1369
  }
1368
- }), c = Kt(i, a), u = new n.Entity({
1370
+ }), c = Xt(i, a), u = new n.Entity({
1369
1371
  polyline: {
1370
- positions: Xt(c),
1372
+ positions: Zt(c),
1371
1373
  width: e.strokeWidth ?? r.strokeWidth,
1372
1374
  material: N(
1373
1375
  e.strokeColor ?? r.strokeColor,
@@ -1378,7 +1380,7 @@ function Hr(e, t = !0) {
1378
1380
  });
1379
1381
  return { fillEntity: l, strokeEntity: u, coordinates: c };
1380
1382
  }
1381
- function jr(e) {
1383
+ function Yr(e) {
1382
1384
  const t = P(), n = be;
1383
1385
  if (!e.point) throw new Error("点需要坐标");
1384
1386
  return { entity: new t.Entity({
@@ -1390,42 +1392,42 @@ function jr(e) {
1390
1392
  }
1391
1393
  }), point: [e.point.lng, e.point.lat] };
1392
1394
  }
1393
- function Yr(e) {
1395
+ function qr(e) {
1394
1396
  const t = P();
1395
1397
  return !!(t.SceneMode && e.scene.mode === t.SceneMode.SCENE2D);
1396
1398
  }
1397
- const qr = {
1399
+ const Kr = {
1398
1400
  polygon: (e, t, n) => {
1399
- const r = $r(e, t), i = n.entities.add(r.fillEntity), a = n.entities.add(r.strokeEntity);
1401
+ const r = Wr(e, t), i = n.entities.add(r.fillEntity), a = n.entities.add(r.strokeEntity);
1400
1402
  return { nativeEntity: { fill: i, stroke: a }, coordinates: r.closedCoordinates };
1401
1403
  },
1402
1404
  line: (e, t, n) => {
1403
- const r = Wr(e, t);
1405
+ const r = Ur(e, t);
1404
1406
  return {
1405
1407
  nativeEntity: n.entities.add(r.entity),
1406
1408
  coordinates: e.lineCoordinates ?? []
1407
1409
  };
1408
1410
  },
1409
1411
  circle: (e, t, n) => {
1410
- const r = Ur(e);
1412
+ const r = Hr(e);
1411
1413
  return {
1412
1414
  nativeEntity: n.entities.add(r.entity),
1413
1415
  coordinates: { center: r.center, radius: r.radius }
1414
1416
  };
1415
1417
  },
1416
1418
  rectangle: (e, t, n) => {
1417
- const r = Hr(e, t), i = n.entities.add(r.fillEntity), a = n.entities.add(r.strokeEntity);
1419
+ const r = jr(e, t), i = n.entities.add(r.fillEntity), a = n.entities.add(r.strokeEntity);
1418
1420
  return { nativeEntity: { fill: i, stroke: a }, coordinates: r.coordinates };
1419
1421
  },
1420
1422
  point: (e, t, n) => {
1421
- const r = jr(e);
1423
+ const r = Yr(e);
1422
1424
  return { nativeEntity: n.entities.add(r.entity), coordinates: r.point };
1423
1425
  }
1424
1426
  };
1425
1427
  function Ct(e, t, n) {
1426
- const r = qr[e];
1428
+ const r = Kr[e];
1427
1429
  if (!r) throw new Error(`不支持的实体类型: ${e}`);
1428
- return r(t, !Yr(n), n);
1430
+ return r(t, !qr(n), n);
1429
1431
  }
1430
1432
  function Pe(e, t) {
1431
1433
  try {
@@ -1446,11 +1448,11 @@ function Be(e, t, n, r) {
1446
1448
  alpha: e.strokeAlpha !== void 0 ? e.strokeAlpha : r
1447
1449
  };
1448
1450
  }
1449
- function Kr(e, t) {
1450
- const n = P(), { fill: r, stroke: i } = e.nativeEntity, a = qt(t.coordinates), o = a.map((l) => n.Cartesian3.fromDegrees(l.lng, l.lat));
1451
+ function Xr(e, t) {
1452
+ const n = P(), { fill: r, stroke: i } = e.nativeEntity, a = Kt(t.coordinates), o = a.map((l) => n.Cartesian3.fromDegrees(l.lng, l.lat));
1451
1453
  r.polygon.hierarchy = new n.PolygonHierarchy(o), i.polyline.positions = o, e.coordinates = a;
1452
1454
  }
1453
- function Xr(e, t) {
1455
+ function Zr(e, t) {
1454
1456
  const { fill: n, stroke: r } = e.nativeEntity;
1455
1457
  if (t.fillColor !== void 0 || t.fillAlpha !== void 0) {
1456
1458
  const { color: i, alpha: a } = it(t, e, "#ff0000", 0.1);
@@ -1460,9 +1462,9 @@ function Xr(e, t) {
1460
1462
  const { color: i, alpha: a } = Be(t, e, "#00ff00", 1);
1461
1463
  r.polyline.material = N(i, a);
1462
1464
  }
1463
- t.strokeWidth !== void 0 && (r.polyline.width = t.strokeWidth), t.coordinates && t.coordinates.length >= 3 && Kr(e, t);
1465
+ t.strokeWidth !== void 0 && (r.polyline.width = t.strokeWidth), t.coordinates && t.coordinates.length >= 3 && Xr(e, t);
1464
1466
  }
1465
- function Zr(e, t) {
1467
+ function Jr(e, t) {
1466
1468
  const n = P(), { fill: r, stroke: i } = e.nativeEntity, [a, o] = t.coordinates;
1467
1469
  r.rectangle.coordinates = n.Rectangle.fromDegrees(
1468
1470
  Math.min(a.lng, o.lng),
@@ -1470,12 +1472,12 @@ function Zr(e, t) {
1470
1472
  Math.max(a.lng, o.lng),
1471
1473
  Math.max(a.lat, o.lat)
1472
1474
  );
1473
- const l = Kt(a, o);
1475
+ const l = Xt(a, o);
1474
1476
  i.polyline.positions = l.map(
1475
1477
  (c) => n.Cartesian3.fromDegrees(c[0], c[1])
1476
1478
  ), e.coordinates = l;
1477
1479
  }
1478
- function Jr(e, t) {
1480
+ function Qr(e, t) {
1479
1481
  const { fill: n, stroke: r } = e.nativeEntity;
1480
1482
  if (t.fillColor !== void 0 || t.fillAlpha !== void 0) {
1481
1483
  const { color: i, alpha: a } = it(t, e, "#ff0000", 0.1);
@@ -1485,9 +1487,9 @@ function Jr(e, t) {
1485
1487
  const { color: i, alpha: a } = Be(t, e, "#00ff00", 1);
1486
1488
  r.polyline.material = N(i, a);
1487
1489
  }
1488
- t.strokeWidth !== void 0 && (r.polyline.width = t.strokeWidth), t.coordinates && t.coordinates.length >= 2 && Zr(e, t);
1490
+ t.strokeWidth !== void 0 && (r.polyline.width = t.strokeWidth), t.coordinates && t.coordinates.length >= 2 && Jr(e, t);
1489
1491
  }
1490
- function Qr(e, t) {
1492
+ function ei(e, t) {
1491
1493
  const n = P(), i = e.nativeEntity.polyline;
1492
1494
  if (i) {
1493
1495
  if (t.strokeColor !== void 0 || t.strokeAlpha !== void 0) {
@@ -1499,7 +1501,7 @@ function Qr(e, t) {
1499
1501
  ), e.coordinates = t.lineCoordinates);
1500
1502
  }
1501
1503
  }
1502
- function ei(e, t) {
1504
+ function ti(e, t) {
1503
1505
  const n = P(), r = e.nativeEntity;
1504
1506
  if (t.fillColor !== void 0 || t.fillAlpha !== void 0) {
1505
1507
  const { color: i, alpha: a } = it(t, e, "#ff0000", 0.1);
@@ -1521,25 +1523,25 @@ function ei(e, t) {
1521
1523
  };
1522
1524
  }
1523
1525
  }
1524
- function ti(e, t) {
1526
+ function ni(e, t) {
1525
1527
  const n = P(), r = e.nativeEntity, i = r.point;
1526
1528
  i && (t.pointColor !== void 0 && (i.color = N(t.pointColor, 1)), t.pixelSize !== void 0 && (i.pixelSize = t.pixelSize), t.point && (r.position = n.Cartesian3.fromDegrees(
1527
1529
  t.point.lng,
1528
1530
  t.point.lat
1529
1531
  ), e.coordinates = [t.point.lng, t.point.lat]));
1530
1532
  }
1531
- function ni(e, t) {
1533
+ function ri(e, t) {
1532
1534
  const n = e.nativeEntity;
1533
1535
  e.type === "polygon" || e.type === "rectangle" ? (n.fill.show = t, n.stroke.show = t) : n.show = t;
1534
1536
  }
1535
- function ri(e, t, n) {
1536
- e === "polygon" ? Xr(t, n) : e === "rectangle" ? Jr(t, n) : e === "line" ? Qr(t, n) : e === "circle" ? ei(t, n) : e === "point" && ti(t, n);
1537
+ function ii(e, t, n) {
1538
+ e === "polygon" ? Zr(t, n) : e === "rectangle" ? Qr(t, n) : e === "line" ? ei(t, n) : e === "circle" ? ti(t, n) : e === "point" && ni(t, n);
1537
1539
  }
1538
- function ii(e, t) {
1540
+ function ai(e, t) {
1539
1541
  const n = t.coordinates;
1540
1542
  n && ((e.type === "polygon" || e.type === "rectangle") && !e.coordinates && Array.isArray(n) && (e.coordinates = n), e.type === "line" && !e.lineCoordinates && t.type === "line" && Array.isArray(n) && (e.lineCoordinates = n), e.type === "circle" && !e.center && t.type === "circle" && !Array.isArray(n) && (e.center = n.center, e.radius = n.radius || 1e3), e.type === "point" && !e.point && t.type === "point" && Array.isArray(n) && (e.point = n));
1541
1543
  }
1542
- async function ai(e, t, n, r, i) {
1544
+ async function oi(e, t, n, r, i) {
1543
1545
  Pe(t, r);
1544
1546
  const a = {
1545
1547
  ...t.options,
@@ -1547,15 +1549,15 @@ async function ai(e, t, n, r, i) {
1547
1549
  id: e,
1548
1550
  type: n.type
1549
1551
  };
1550
- return ii(a, t), await i(a) !== null;
1552
+ return ai(a, t), await i(a) !== null;
1551
1553
  }
1552
- function oi(e) {
1554
+ function li(e) {
1553
1555
  const t = /* @__PURE__ */ new Map();
1554
1556
  let n = "";
1555
1557
  const r = () => !e.value || !e.value.entities ? (m.warn("地图实例未就绪"), !1) : !0, i = async () => {
1556
1558
  if (r()) return !0;
1557
1559
  try {
1558
- return await rr(), r();
1560
+ return await ir(), r();
1559
1561
  } catch {
1560
1562
  return !1;
1561
1563
  }
@@ -1594,7 +1596,7 @@ function oi(e) {
1594
1596
  return m.warn(`实体未找到:${s}`), !1;
1595
1597
  if (!await i()) return !1;
1596
1598
  const g = e.value;
1597
- return g ? d.type && d.type !== h.type ? await ai(s, h, d, g, a) : (ri(h.type, h, d), d.name !== void 0 && (h.options.name = d.name), d.visible !== void 0 && ni(h, d.visible), h.options = { ...h.options, ...d }, t.set(s, h), !0) : !1;
1599
+ return g ? d.type && d.type !== h.type ? await oi(s, h, d, g, a) : (ii(h.type, h, d), d.name !== void 0 && (h.options.name = d.name), d.visible !== void 0 && ri(h, d.visible), h.options = { ...h.options, ...d }, t.set(s, h), !0) : !1;
1598
1600
  } catch (h) {
1599
1601
  return m.error(`修改实体失败 (${s}):`, h), !1;
1600
1602
  }
@@ -1609,7 +1611,7 @@ function oi(e) {
1609
1611
  m.warn(`重绘实体失败 (${d}):`, g);
1610
1612
  }
1611
1613
  };
1612
- return $(() => {
1614
+ return G(() => {
1613
1615
  try {
1614
1616
  t.clear(), n = "";
1615
1617
  } catch (s) {
@@ -1623,7 +1625,7 @@ function oi(e) {
1623
1625
  getCurrentEntityId: l
1624
1626
  };
1625
1627
  }
1626
- function li() {
1628
+ function si() {
1627
1629
  return {
1628
1630
  drawInstance: null,
1629
1631
  editInstance: null,
@@ -1651,7 +1653,7 @@ const fe = {
1651
1653
  function Ae(e, t, n, r) {
1652
1654
  return typeof e != "number" || Number.isNaN(e) ? r : Math.min(n, Math.max(t, e));
1653
1655
  }
1654
- class si {
1656
+ class ci {
1655
1657
  constructor(t) {
1656
1658
  this.config = { ...fe, ...t }, this.config.fillAlpha = Ae(
1657
1659
  this.config.fillAlpha,
@@ -1705,7 +1707,7 @@ class si {
1705
1707
  config: this.config,
1706
1708
  shared: { fill: n, border: r, label: i, width: a }
1707
1709
  }, l = { repeat: !0 };
1708
- for (const c of Bn())
1710
+ for (const c of Rn())
1709
1711
  c.buildConfig && (l[c.type] = c.buildConfig(o));
1710
1712
  return l;
1711
1713
  }
@@ -1725,12 +1727,12 @@ class si {
1725
1727
  };
1726
1728
  }
1727
1729
  }
1728
- function Zt(e) {
1730
+ function Jt(e) {
1729
1731
  return e.map((t) => rt(t)).filter((t) => t !== null);
1730
1732
  }
1731
- function ci(e) {
1733
+ function ui(e) {
1732
1734
  try {
1733
- const t = e.polygon.hierarchy.getValue().positions || [], n = Zt(t);
1735
+ const t = e.polygon.hierarchy.getValue().positions || [], n = Jt(t);
1734
1736
  return {
1735
1737
  type: "polygon",
1736
1738
  path: n.map((r) => [r.lng, r.lat]),
@@ -1741,7 +1743,7 @@ function ci(e) {
1741
1743
  return m.error("提取多边形数据失败:", t), null;
1742
1744
  }
1743
1745
  }
1744
- function ui(e) {
1746
+ function di(e) {
1745
1747
  const t = P();
1746
1748
  try {
1747
1749
  const n = e.rectangle.coordinates.getValue(), r = t.Math.toDegrees(n.west), i = t.Math.toDegrees(n.south), a = t.Math.toDegrees(n.east), o = t.Math.toDegrees(n.north);
@@ -1766,9 +1768,9 @@ function ui(e) {
1766
1768
  return m.error("提取矩形数据失败:", n), null;
1767
1769
  }
1768
1770
  }
1769
- function di(e) {
1771
+ function fi(e) {
1770
1772
  try {
1771
- const t = e.polyline.positions.getValue(), n = Zt(t);
1773
+ const t = e.polyline.positions.getValue(), n = Jt(t);
1772
1774
  return {
1773
1775
  type: "polyline",
1774
1776
  path: n.map((r) => [r.lng, r.lat]),
@@ -1779,7 +1781,7 @@ function di(e) {
1779
1781
  return m.error("提取折线数据失败:", t), null;
1780
1782
  }
1781
1783
  }
1782
- function fi(e) {
1784
+ function hi(e) {
1783
1785
  try {
1784
1786
  const t = rt(e.position.getValue());
1785
1787
  if (!t) return null;
@@ -1794,7 +1796,7 @@ function fi(e) {
1794
1796
  return m.error("提取圆形数据失败:", t), null;
1795
1797
  }
1796
1798
  }
1797
- function hi(e) {
1799
+ function gi(e) {
1798
1800
  try {
1799
1801
  const t = rt(e.position.getValue());
1800
1802
  return t ? {
@@ -1807,29 +1809,29 @@ function hi(e) {
1807
1809
  return null;
1808
1810
  }
1809
1811
  }
1810
- function Jt(e) {
1811
- return e ? e.polygon ? ci(e) : e.rectangle ? ui(e) : e.polyline ? di(e) : e.position && e.ellipse ? fi(e) : e.billboard && e.position ? hi(e) : null : null;
1812
- }
1813
- function gi(e) {
1814
- return Or(e);
1812
+ function Qt(e) {
1813
+ return e ? e.polygon ? ui(e) : e.rectangle ? di(e) : e.polyline ? fi(e) : e.position && e.ellipse ? hi(e) : e.billboard && e.position ? gi(e) : null : null;
1815
1814
  }
1816
1815
  function pi(e) {
1817
- return e.editInstance && (e.editInstance.isEditing || e.editInstance._isEditing || e.editInstance.editing) || !1;
1816
+ return $r(e);
1818
1817
  }
1819
1818
  function mi(e) {
1819
+ return e.editInstance && (e.editInstance.isEditing || e.editInstance._isEditing || e.editInstance.editing) || !1;
1820
+ }
1821
+ function vi(e) {
1820
1822
  typeof e.finish == "function" ? e.finish() : typeof e.stop == "function" ? e.stop() : typeof e.disable == "function" ? e.disable() : typeof e.end == "function" ? e.end() : e.isEditing = !1;
1821
1823
  }
1822
1824
  function Ee(e, t = !1) {
1823
1825
  if (e.editInstance) {
1824
1826
  t && e.currentDrawId && (e.lastEditedEntity = e.mapInstance?.entities.getById(e.currentDrawId) ?? null);
1825
1827
  try {
1826
- mi(e.editInstance);
1828
+ vi(e.editInstance);
1827
1829
  } catch (n) {
1828
1830
  m.error("结束编辑状态失败:", n);
1829
1831
  } finally {
1830
1832
  e.isEditing = !1;
1831
1833
  }
1832
- t && e.lastEditedEntity && vi(e);
1834
+ t && e.lastEditedEntity && wi(e);
1833
1835
  }
1834
1836
  }
1835
1837
  function re(e, t) {
@@ -1842,10 +1844,10 @@ function re(e, t) {
1842
1844
  else
1843
1845
  m.warn("绘图回调函数未设置");
1844
1846
  }
1845
- function vi(e) {
1847
+ function wi(e) {
1846
1848
  if (!(!e.lastEditedEntity || !e.currentDrawId))
1847
1849
  try {
1848
- const t = Jt(e.lastEditedEntity);
1850
+ const t = Qt(e.lastEditedEntity);
1849
1851
  if (!t) return;
1850
1852
  const n = {
1851
1853
  type: t.type,
@@ -1863,7 +1865,7 @@ function vi(e) {
1863
1865
  m.error("手动触发编辑完成事件失败:", t);
1864
1866
  }
1865
1867
  }
1866
- function wi(e, t, n) {
1868
+ function yi(e, t, n) {
1867
1869
  try {
1868
1870
  if (e.drawInstance || n(), !e.drawInstance) throw new Error("绘图实例初始化失败");
1869
1871
  if (e.isEditing && Ee(e, !1), e.isDrawing = !0, e.currentDrawType = t, typeof e.drawInstance.enable == "function")
@@ -1876,7 +1878,7 @@ function wi(e, t, n) {
1876
1878
  throw m.error(`开始绘制 ${t} 失败:`, r), e.isDrawing = !1, e.currentDrawType = null, r;
1877
1879
  }
1878
1880
  }
1879
- function yi(e) {
1881
+ function Ci(e) {
1880
1882
  const t = (n, ...r) => {
1881
1883
  if (n) {
1882
1884
  for (const i of r)
@@ -1888,13 +1890,13 @@ function yi(e) {
1888
1890
  };
1889
1891
  t(e.drawInstance, "disable", "stop"), t(e.editInstance, "disable", "stop");
1890
1892
  }
1891
- function Ci(e) {
1893
+ function bi(e) {
1892
1894
  e.currentDrawId = "", e.currentDrawType = null, e.isDrawing = !1, e.isEditing = !1, e.lastEditedEntity = null;
1893
1895
  }
1894
1896
  function ne(e) {
1895
- e.isEditing && Ee(e, !1), yi(e), Ci(e);
1897
+ e.isEditing && Ee(e, !1), Ci(e), bi(e);
1896
1898
  }
1897
- function bi(e, t = "") {
1899
+ function Ei(e, t = "") {
1898
1900
  if (!e.mapInstance) return;
1899
1901
  const n = t || e.currentDrawId;
1900
1902
  if (e.isEditing && Ee(e, !1), !n) {
@@ -1903,7 +1905,7 @@ function bi(e, t = "") {
1903
1905
  }
1904
1906
  const r = e.mapInstance.entities.getById(n);
1905
1907
  if (r) {
1906
- const i = Jt(r);
1908
+ const i = Qt(r);
1907
1909
  if (e.mapInstance.entities.remove(r), e.drawEntityIds.delete(n), e.currentDrawId === n && (e.currentDrawId = ""), i) {
1908
1910
  const a = {
1909
1911
  type: i.type,
@@ -1921,7 +1923,7 @@ function bi(e, t = "") {
1921
1923
  }
1922
1924
  ne(e);
1923
1925
  }
1924
- function Ei(e) {
1926
+ function Si(e) {
1925
1927
  if (!e.mapInstance) return;
1926
1928
  e.isEditing && Ee(e, !1);
1927
1929
  let t = 0;
@@ -2015,17 +2017,17 @@ class X {
2015
2017
  return n.length === 0 ? null : { type: "polyline", path: n };
2016
2018
  }
2017
2019
  }
2018
- function Si(e, t, n) {
2020
+ function Di(e, t, n) {
2019
2021
  re(e, {
2020
- type: gi(n),
2022
+ type: pi(n),
2021
2023
  operation: "select",
2022
2024
  id: t,
2023
2025
  data: { id: t },
2024
2026
  rawData: n
2025
2027
  });
2026
2028
  }
2027
- function Di(e) {
2028
- if (pi(e)) {
2029
+ function Ti(e) {
2030
+ if (mi(e)) {
2029
2031
  Ee(e, !0);
2030
2032
  return;
2031
2033
  }
@@ -2037,7 +2039,7 @@ function Di(e) {
2037
2039
  rawData: null
2038
2040
  }), ne(e);
2039
2041
  }
2040
- function Ti(e, t) {
2042
+ function Mi(e, t) {
2041
2043
  if (!e.mapInstance) return;
2042
2044
  const n = P(), r = e.mapInstance.scene.pick(t.position);
2043
2045
  if (!n.defined(r)) return;
@@ -2049,16 +2051,16 @@ function Ti(e, t) {
2049
2051
  const o = e.editInstance;
2050
2052
  typeof o.edit == "function" ? o.edit(a) : typeof o.start == "function" ? o.start(a) : typeof o.enable == "function" && o.enable(a), e.isEditing = !0;
2051
2053
  }
2052
- function Mi(e, t) {
2054
+ function Ii(e, t) {
2053
2055
  if (!e.mapInstance || e.isDrawing) return;
2054
2056
  const n = P(), r = e.mapInstance.scene.pick(t.position);
2055
2057
  if (!n.defined(r)) return;
2056
2058
  const i = r?.id?._id;
2057
2059
  if (typeof i != "string" || !i) return;
2058
2060
  const a = e.mapInstance.entities.getById(i);
2059
- a && (e.currentDrawId = i, Si(e, i, a));
2061
+ a && (e.currentDrawId = i, Di(e, i, a));
2060
2062
  }
2061
- function Ii(e, t) {
2063
+ function xi(e, t) {
2062
2064
  const n = X.process(t.detail);
2063
2065
  if (!n) return;
2064
2066
  n.id && e.drawEntityIds.add(n.id);
@@ -2071,7 +2073,7 @@ function Ii(e, t) {
2071
2073
  };
2072
2074
  re(e, r), ne(e);
2073
2075
  }
2074
- function xi(e, t) {
2076
+ function Ai(e, t) {
2075
2077
  e.isEditing = !1;
2076
2078
  const n = X.process(t.detail);
2077
2079
  if (!n) {
@@ -2087,7 +2089,7 @@ function xi(e, t) {
2087
2089
  };
2088
2090
  re(e, r), e.lastEditedEntity = null;
2089
2091
  }
2090
- function Qt(e) {
2092
+ function en(e) {
2091
2093
  e.eventListeners.forEach(({ type: t }) => {
2092
2094
  try {
2093
2095
  e.mapHandler?.removeInputAction(t);
@@ -2096,8 +2098,8 @@ function Qt(e) {
2096
2098
  }
2097
2099
  }), e.eventListeners = [];
2098
2100
  }
2099
- function Ai(e) {
2100
- Qt(e);
2101
+ function Li(e) {
2102
+ en(e);
2101
2103
  const t = e.mapHandler;
2102
2104
  if (!t) return;
2103
2105
  const n = P(), r = [
@@ -2105,49 +2107,49 @@ function Ai(e) {
2105
2107
  n.ScreenSpaceEventType.LEFT_DOUBLE_CLICK,
2106
2108
  n.ScreenSpaceEventType.LEFT_CLICK
2107
2109
  ], i = [
2108
- () => Di(e),
2109
- (a) => Ti(e, a),
2110
- (a) => Mi(e, a)
2110
+ () => Ti(e),
2111
+ (a) => Mi(e, a),
2112
+ (a) => Ii(e, a)
2111
2113
  ];
2112
2114
  r.forEach((a, o) => {
2113
2115
  t.setInputAction(i[o], a), e.eventListeners.push({ type: a });
2114
2116
  });
2115
2117
  }
2116
- function Li(e) {
2118
+ function ki(e) {
2117
2119
  e.drawInstance && (e.drawInstance.on(
2118
2120
  "bm_draw_end",
2119
- (t) => Ii(e, t)
2121
+ (t) => xi(e, t)
2120
2122
  ), e.editInstance && e.editInstance.on(
2121
2123
  "bm_edit_end",
2122
- (t) => xi(e, t)
2124
+ (t) => Ai(e, t)
2123
2125
  ));
2124
2126
  }
2125
- function ki(e, t, n) {
2127
+ function _i(e, t, n) {
2126
2128
  try {
2127
2129
  if (e.mapInstance = Qe(t) ? t.value : t, !e.mapInstance) throw new Error("地图实例不可用");
2128
2130
  if (!D()) throw new Error("BMGL 库未加载");
2129
2131
  if (e.mapHandler = e.mapInstance.screenSpaceEventHandler, !e.mapHandler) throw new Error("地图事件处理器不可用");
2130
- const r = P(), i = new si(n);
2132
+ const r = P(), i = new ci(n);
2131
2133
  e.drawInstance = new r.Plot.Draw(
2132
2134
  e.mapInstance,
2133
2135
  i.getDrawConfig()
2134
2136
  ), e.editInstance = new r.Plot.Edit(
2135
2137
  e.mapInstance,
2136
2138
  i.getEditConfig()
2137
- ), Ai(e), Li(e);
2139
+ ), Li(e), ki(e);
2138
2140
  } catch (r) {
2139
2141
  throw m.error("绘图工具初始化失败:", r), r;
2140
2142
  }
2141
2143
  }
2142
2144
  function bt(e) {
2143
2145
  try {
2144
- ne(e), Qt(e), e.drawInstance && typeof e.drawInstance.destroy == "function" && e.drawInstance.destroy(), e.editInstance && typeof e.editInstance.destroy == "function" && e.editInstance.destroy(), e.drawInstance = null, e.editInstance = null, e.drawCallback = null, e.mapHandler = null, e.lastEditedEntity = null;
2146
+ ne(e), en(e), e.drawInstance && typeof e.drawInstance.destroy == "function" && e.drawInstance.destroy(), e.editInstance && typeof e.editInstance.destroy == "function" && e.editInstance.destroy(), e.drawInstance = null, e.editInstance = null, e.drawCallback = null, e.mapHandler = null, e.lastEditedEntity = null;
2145
2147
  } catch (t) {
2146
2148
  m.error("清理绘图工具资源失败:", t);
2147
2149
  }
2148
2150
  }
2149
- function _i(e, t) {
2150
- const n = li(), r = () => ki(n, e, t), i = (l) => {
2151
+ function Pi(e, t) {
2152
+ const n = si(), r = () => _i(n, e, t), i = (l) => {
2151
2153
  n.drawCallback = l;
2152
2154
  }, a = () => ({
2153
2155
  isDrawing: n.isDrawing,
@@ -2176,15 +2178,15 @@ function _i(e, t) {
2176
2178
  } catch (l) {
2177
2179
  m.warn("自动初始化失败,将在绘图时重试:", l);
2178
2180
  }
2179
- return $(() => {
2181
+ return G(() => {
2180
2182
  bt(n);
2181
2183
  }), {
2182
2184
  // 绘制控制
2183
- startDrawing: (l) => wi(n, l, r),
2185
+ startDrawing: (l) => yi(n, l, r),
2184
2186
  cancelDrawing: () => ne(n),
2185
2187
  // 数据操作
2186
- removeDrawing: (l = "") => bi(n, l),
2187
- clearAllDrawings: () => Ei(n),
2188
+ removeDrawing: (l = "") => Ei(n, l),
2189
+ clearAllDrawings: () => Si(n),
2188
2190
  // 回调管理
2189
2191
  setCallback: i,
2190
2192
  // 状态查询
@@ -2196,7 +2198,7 @@ function _i(e, t) {
2196
2198
  cleanup: () => bt(n)
2197
2199
  };
2198
2200
  }
2199
- function Pi() {
2201
+ function Bi() {
2200
2202
  return {
2201
2203
  popupLayer: null,
2202
2204
  divLayerManager: null,
@@ -2209,16 +2211,16 @@ function Pi() {
2209
2211
  function ve(e) {
2210
2212
  return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2211
2213
  }
2212
- function Bi(e) {
2214
+ function Ri(e) {
2213
2215
  return e && /^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e) ? e : "";
2214
2216
  }
2215
2217
  function le(e, t) {
2216
2218
  return typeof e == "number" && !Number.isNaN(e) ? e.toFixed(t) : "-";
2217
2219
  }
2218
- function Ri(e) {
2219
- return G[e || "default"] || G.default;
2220
- }
2221
2220
  function zi(e) {
2221
+ return $[e || "default"] || $.default;
2222
+ }
2223
+ function Fi(e) {
2222
2224
  return [
2223
2225
  `--status-color: ${e.color}`,
2224
2226
  `--status-bg: ${e.color}10`,
@@ -2226,7 +2228,7 @@ function zi(e) {
2226
2228
  `--status-shadow: ${e.color}30`
2227
2229
  ].join(";");
2228
2230
  }
2229
- function Fi(e, t) {
2231
+ function Ni(e, t) {
2230
2232
  const n = [e.lineCode, e.lineNo, e.pointNo].filter(
2231
2233
  (i) => i != null && i !== ""
2232
2234
  ), r = n.length ? `<div class="map-point-popup-subtitle"><span>${n.map((i) => ve(i)).join('<span class="map-point-popup-divider">|</span>')}</span></div>` : "";
@@ -2239,14 +2241,14 @@ function Fi(e, t) {
2239
2241
  ${r}
2240
2242
  </div>`;
2241
2243
  }
2242
- function en(e, t) {
2244
+ function tn(e, t) {
2243
2245
  return `
2244
2246
  <div class="map-point-popup-field">
2245
2247
  <div class="map-point-popup-field-label">${ve(e)}</div>
2246
2248
  <div class="map-point-popup-field-value">${ve(t)}</div>
2247
2249
  </div>`;
2248
2250
  }
2249
- function Ni(e, t) {
2251
+ function Vi(e, t) {
2250
2252
  const n = t[e.key];
2251
2253
  if (n == null || n === "") return "-";
2252
2254
  if (typeof e.format == "function") return e.format(n, t);
@@ -2261,12 +2263,12 @@ function Ni(e, t) {
2261
2263
  return String(n);
2262
2264
  }
2263
2265
  }
2264
- function Vi(e) {
2265
- return `<div class="map-point-popup-grid">${e.map((t) => en(t.label, t.value)).join("")}</div>`;
2266
- }
2267
2266
  function Oi(e) {
2267
+ return `<div class="map-point-popup-grid">${e.map((t) => tn(t.label, t.value)).join("")}</div>`;
2268
+ }
2269
+ function $i(e) {
2268
2270
  const t = le(e.lng, 6), n = le(e.lat, 6), r = le(e.altitude, 2), i = e.teamName || "-", a = e.realName || "-";
2269
- return Vi([
2271
+ return Oi([
2270
2272
  { label: "经度", value: t },
2271
2273
  { label: "纬度", value: n },
2272
2274
  { label: "高程", value: `${r} m` },
@@ -2275,26 +2277,26 @@ function Oi(e) {
2275
2277
  ]);
2276
2278
  }
2277
2279
  function Gi(e, t) {
2278
- return `<div class="map-point-popup-grid">${t.map((r) => en(r.label, Ni(r, e))).join("")}</div>`;
2280
+ return `<div class="map-point-popup-grid">${t.map((r) => tn(r.label, Vi(r, e))).join("")}</div>`;
2279
2281
  }
2280
- function $i(e, t) {
2281
- const n = Ri(e.status), r = zi(n), i = Bi(t?.themeColor), a = i ? `--popup-accent: ${i};` : "", o = t?.fields?.length ? Gi(e, t.fields) : Oi(e);
2282
+ function Wi(e, t) {
2283
+ const n = zi(e.status), r = Fi(n), i = Ri(t?.themeColor), a = i ? `--popup-accent: ${i};` : "", o = t?.fields?.length ? Gi(e, t.fields) : $i(e);
2282
2284
  return `
2283
2285
  <div class="map-point-popup" style="${r};${a}">
2284
- ${Fi(e, n)}
2286
+ ${Ni(e, n)}
2285
2287
  <div class="map-point-popup-content">
2286
2288
  ${o}
2287
2289
  </div>
2288
2290
  </div>`;
2289
2291
  }
2290
- function Ge(e) {
2292
+ function $e(e) {
2291
2293
  return typeof e == "number" && !Number.isNaN(e);
2292
2294
  }
2293
- function Wi(e, t) {
2295
+ function Ui(e, t) {
2294
2296
  return t && (e.mapInstance = Qe(t) ? t.value : t), !!e.mapInstance;
2295
2297
  }
2296
- async function Ui(e, t, n) {
2297
- if (Wi(e, t), !e.divLayerManager && e.mapInstance) {
2298
+ async function Hi(e, t, n) {
2299
+ if (Ui(e, t), !e.divLayerManager && e.mapInstance) {
2298
2300
  const r = D();
2299
2301
  if (!r) return null;
2300
2302
  e.divLayerManager = new r.div.DivLayerManager(e.mapInstance, {
@@ -2305,7 +2307,7 @@ async function Ui(e, t, n) {
2305
2307
  }
2306
2308
  return e.divLayerManager;
2307
2309
  }
2308
- function Hi(e) {
2310
+ function ji(e) {
2309
2311
  const t = D();
2310
2312
  if (!t) throw new Error("BMGL 库未加载,无法转换弹窗坐标");
2311
2313
  return t.Cartesian3.fromDegrees(
@@ -2314,8 +2316,8 @@ function Hi(e) {
2314
2316
  e.altitude || 0
2315
2317
  );
2316
2318
  }
2317
- function ji(e, t, n) {
2318
- const r = Pi();
2319
+ function Yi(e, t, n) {
2320
+ const r = Bi();
2319
2321
  r.displayConfig = n?.displayConfig || null;
2320
2322
  const i = () => {
2321
2323
  if (r.popupLayer && r.divLayerManager) {
@@ -2331,12 +2333,12 @@ function ji(e, t, n) {
2331
2333
  try {
2332
2334
  if (!u) throw new Error("点位数据不能为空");
2333
2335
  const d = ++r.popupSeq, h = {
2334
- lng: Ge(u.lng) ? u.lng : ye.lng,
2335
- lat: Ge(u.lat) ? u.lat : ye.lat,
2336
- altitude: Ge(u.altitude) ? u.altitude : 0
2336
+ lng: $e(u.lng) ? u.lng : ye.lng,
2337
+ lat: $e(u.lat) ? u.lat : ye.lat,
2338
+ altitude: $e(u.altitude) ? u.altitude : 0
2337
2339
  };
2338
2340
  i();
2339
- const g = await Ui(r, e, t);
2341
+ const g = await Hi(r, e, t);
2340
2342
  if (!g) throw new Error("DivLayerManager 初始化失败");
2341
2343
  if (d !== r.popupSeq) return;
2342
2344
  r.currentPopupData = { ...u };
@@ -2348,8 +2350,8 @@ function ji(e, t, n) {
2348
2350
  }, w = D();
2349
2351
  if (!w) throw new Error("BMGL 库未加载,无法创建弹窗");
2350
2352
  const p = new w.div.DivLayer(
2351
- $i(u, r.displayConfig || void 0),
2352
- Hi(h),
2353
+ Wi(u, r.displayConfig || void 0),
2354
+ ji(h),
2353
2355
  {
2354
2356
  offset: { x: C.offsetX, y: C.offsetY }
2355
2357
  }
@@ -2361,7 +2363,7 @@ function ji(e, t, n) {
2361
2363
  }, o = () => {
2362
2364
  i();
2363
2365
  }, l = () => r.popupLayer !== null, c = () => r.currentPopupData;
2364
- return $(() => {
2366
+ return G(() => {
2365
2367
  try {
2366
2368
  o();
2367
2369
  } catch (s) {
@@ -2382,7 +2384,7 @@ function ji(e, t, n) {
2382
2384
  getCurrentPopupData: c
2383
2385
  };
2384
2386
  }
2385
- function Yi(e) {
2387
+ function qi(e) {
2386
2388
  let t = null;
2387
2389
  const n = () => Qe(e) ? e.value : e, r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map(), a = (l) => {
2388
2390
  try {
@@ -2412,7 +2414,7 @@ function Yi(e) {
2412
2414
  return m.error(`删除波动效果失败, ID: ${l}:`, c), r.delete(l), !1;
2413
2415
  }
2414
2416
  };
2415
- return $(() => {
2417
+ return G(() => {
2416
2418
  i.forEach((l) => clearTimeout(l)), i.clear();
2417
2419
  for (const l of Array.from(r))
2418
2420
  try {
@@ -2426,13 +2428,13 @@ function Yi(e) {
2426
2428
  removeWave: o
2427
2429
  };
2428
2430
  }
2429
- function qi() {
2431
+ function Ki() {
2430
2432
  return { layers: /* @__PURE__ */ new Map() };
2431
2433
  }
2432
- function tn(e) {
2434
+ function nn(e) {
2433
2435
  return e.value ? e.value : (m.warn("[useMapLayers] 地图未初始化"), null);
2434
2436
  }
2435
- function nn(e, t, n) {
2437
+ function rn(e, t, n) {
2436
2438
  const r = e.layers.get(n);
2437
2439
  if (r) {
2438
2440
  try {
@@ -2443,19 +2445,19 @@ function nn(e, t, n) {
2443
2445
  e.layers.delete(n);
2444
2446
  }
2445
2447
  }
2446
- function Ki(e, t, n) {
2447
- const r = tn(t);
2448
+ function Xi(e, t, n) {
2449
+ const r = nn(t);
2448
2450
  if (!r) throw new Error("地图未初始化,无法添加影像图层");
2449
2451
  const i = P();
2450
- nn(e, t, n);
2452
+ rn(e, t, n);
2451
2453
  const a = new i.ImageryLayer(new i.BMImageryProvider({ mapId: n }));
2452
2454
  return r.imageryLayers.add(a), e.layers.set(n, a), a;
2453
2455
  }
2454
- function Xi(e, t, n, r = "wmts-layer") {
2455
- const i = tn(t);
2456
+ function Zi(e, t, n, r = "wmts-layer") {
2457
+ const i = nn(t);
2456
2458
  if (!i) throw new Error("地图未初始化,无法添加 WMTS 图层");
2457
2459
  const a = P();
2458
- nn(e, t, r);
2460
+ rn(e, t, r);
2459
2461
  const o = new a.WebMapTileServiceImageryProvider({
2460
2462
  url: n,
2461
2463
  layer: r,
@@ -2467,16 +2469,16 @@ function Xi(e, t, n, r = "wmts-layer") {
2467
2469
  );
2468
2470
  return e.layers.set(r, l), l;
2469
2471
  }
2470
- function Zi(e, t) {
2472
+ function Ji(e, t) {
2471
2473
  if (typeof t == "string") {
2472
2474
  const n = e.layers.get(t);
2473
2475
  return n ? { layer: n, key: t } : (m.warn(`图层未找到: ${t}`), { layer: null, key: null });
2474
2476
  }
2475
2477
  return { layer: t, key: null };
2476
2478
  }
2477
- function Ji(e, t, n) {
2479
+ function Qi(e, t, n) {
2478
2480
  try {
2479
- const { layer: r, key: i } = Zi(e, n);
2481
+ const { layer: r, key: i } = Ji(e, n);
2480
2482
  if (!r) return !1;
2481
2483
  if (t.value && t.value.imageryLayers.remove(r, !1), i !== null)
2482
2484
  e.layers.delete(i);
@@ -2491,7 +2493,7 @@ function Ji(e, t, n) {
2491
2493
  return m.error("移除图层失败:", r), !1;
2492
2494
  }
2493
2495
  }
2494
- function Qi(e, t) {
2496
+ function ea(e, t) {
2495
2497
  const n = t.value;
2496
2498
  if (n)
2497
2499
  try {
@@ -2502,40 +2504,40 @@ function Qi(e, t) {
2502
2504
  m.error("移除所有图层失败:", r);
2503
2505
  }
2504
2506
  }
2505
- function rn(e, t) {
2507
+ function an(e, t) {
2506
2508
  if (typeof t == "string") {
2507
2509
  const n = e.layers.get(t);
2508
2510
  return n || (m.warn(`图层未找到: ${t}`), null);
2509
2511
  }
2510
2512
  return t;
2511
2513
  }
2512
- function ea(e, t, n) {
2514
+ function ta(e, t, n) {
2513
2515
  try {
2514
- const r = rn(e, t);
2516
+ const r = an(e, t);
2515
2517
  return r ? (r.show = n, !0) : !1;
2516
2518
  } catch (r) {
2517
2519
  return m.error("设置图层可见性失败:", r), !1;
2518
2520
  }
2519
2521
  }
2520
- function ta(e, t, n) {
2522
+ function na(e, t, n) {
2521
2523
  try {
2522
2524
  if (typeof n != "number" || Number.isNaN(n) || n < 0 || n > 1)
2523
2525
  return m.warn("透明度必须在 0-1 之间"), !1;
2524
- const r = rn(e, t);
2526
+ const r = an(e, t);
2525
2527
  return r ? (r.alpha = n, !0) : !1;
2526
2528
  } catch (r) {
2527
2529
  return m.error("设置图层透明度失败:", r), !1;
2528
2530
  }
2529
2531
  }
2530
- function na(e) {
2532
+ function ra(e) {
2531
2533
  const t = [];
2532
2534
  return e.layers.forEach((n, r) => {
2533
2535
  t.push({ name: r, layer: n });
2534
2536
  }), t;
2535
2537
  }
2536
- function ra(e) {
2537
- const t = qi();
2538
- return $(() => {
2538
+ function ia(e) {
2539
+ const t = Ki();
2540
+ return G(() => {
2539
2541
  try {
2540
2542
  t.layers.clear();
2541
2543
  } catch (n) {
@@ -2543,32 +2545,32 @@ function ra(e) {
2543
2545
  }
2544
2546
  }), {
2545
2547
  // 图层管理
2546
- addImageryLayer: (n) => Ki(t, e, n),
2547
- addWmtsLayer: (n, r) => Xi(t, e, n, r),
2548
- removeLayer: (n) => Ji(t, e, n),
2549
- removeAllLayers: () => Qi(t, e),
2548
+ addImageryLayer: (n) => Xi(t, e, n),
2549
+ addWmtsLayer: (n, r) => Zi(t, e, n, r),
2550
+ removeLayer: (n) => Qi(t, e, n),
2551
+ removeAllLayers: () => ea(t, e),
2550
2552
  // 图层控制
2551
- setLayerVisible: (n, r) => ea(t, n, r),
2552
- setLayerOpacity: (n, r) => ta(t, n, r),
2553
+ setLayerVisible: (n, r) => ta(t, n, r),
2554
+ setLayerOpacity: (n, r) => na(t, n, r),
2553
2555
  // 查询
2554
- getAllLayers: () => na(t)
2556
+ getAllLayers: () => ra(t)
2555
2557
  };
2556
2558
  }
2557
- function ia(e) {
2558
- return { ...Fn, ...e };
2559
+ function aa(e) {
2560
+ return { ...Nn, ...e };
2559
2561
  }
2560
- function aa(e, t) {
2562
+ function oa(e, t) {
2561
2563
  const n = e.Material.fromType("ElevationContour"), r = n.uniforms;
2562
2564
  return r.width = t.width, r.spacing = t.spacing, r.color = e.Color.RED.clone(), n;
2563
2565
  }
2564
- function oa(e, t) {
2566
+ function la(e, t) {
2565
2567
  const n = T(!1), r = (l) => {
2566
2568
  const c = e.value;
2567
2569
  if (c?.scene?.globe)
2568
2570
  if (l) {
2569
2571
  const u = D();
2570
2572
  if (!u) return;
2571
- c.scene.globe.material = aa(u, ia(t));
2573
+ c.scene.globe.material = oa(u, aa(t));
2572
2574
  } else
2573
2575
  c.scene.globe.material = void 0;
2574
2576
  };
@@ -2580,8 +2582,8 @@ function oa(e, t) {
2580
2582
  r(!1);
2581
2583
  } };
2582
2584
  }
2583
- const la = 2e4;
2584
- function sa(e, t = {}) {
2585
+ const sa = 2e4;
2586
+ function ca(e, t = {}) {
2585
2587
  if (!Array.isArray(e) || e.length < 2)
2586
2588
  throw new Error("轨迹至少需要2个点");
2587
2589
  const n = t.interval && t.interval > 0 ? t.interval : 1;
@@ -2597,7 +2599,7 @@ function sa(e, t = {}) {
2597
2599
  h.time > a && (i.push(h), a = h.time);
2598
2600
  if (i.length < 2)
2599
2601
  throw new Error("轨迹时间戳无效,无法构成回放时间表");
2600
- const o = i.map((h) => h.time), l = o[0], c = o[o.length - 1] - l, u = t.duration && t.duration > 0 ? t.duration : c, s = t.maxPoints && t.maxPoints >= 2 ? Math.floor(t.maxPoints) : la;
2602
+ const o = i.map((h) => h.time), l = o[0], c = o[o.length - 1] - l, u = t.duration && t.duration > 0 ? t.duration : c, s = t.maxPoints && t.maxPoints >= 2 ? Math.floor(t.maxPoints) : sa;
2601
2603
  let d = i;
2602
2604
  if (i.length > s) {
2603
2605
  const h = Math.ceil(i.length / s);
@@ -2631,7 +2633,7 @@ function he(e, t) {
2631
2633
  progress: i > 0 ? (t - a) / i : 0
2632
2634
  };
2633
2635
  }
2634
- function ca(e, t = {}) {
2636
+ function ua(e, t = {}) {
2635
2637
  const n = e.duration, r = !!t.loop;
2636
2638
  let i = 0, a = Math.max(0, t.speed ?? 1), o = t.autoPlay ? "playing" : "idle";
2637
2639
  const l = {
@@ -2657,14 +2659,14 @@ function ca(e, t = {}) {
2657
2659
  };
2658
2660
  return u(), { state: l, play: s, pause: d, stop: h, setSpeed: g, jumpTo: C, tick: w };
2659
2661
  }
2660
- function ua(e) {
2662
+ function da(e) {
2661
2663
  const t = D();
2662
2664
  return !!(t && t.SceneMode && e?.scene?.mode === t.SceneMode.SCENE2D);
2663
2665
  }
2664
2666
  function at(e, t, n = 1) {
2665
2667
  return e.Color.fromCssColorString(t).withAlpha(n);
2666
2668
  }
2667
- function da(e, t, n, r) {
2669
+ function fa(e, t, n, r) {
2668
2670
  const i = t.map(
2669
2671
  (a) => e.Cartesian3.fromDegrees(a.lng, a.lat, a.altitude ?? 0)
2670
2672
  );
@@ -2677,7 +2679,7 @@ function da(e, t, n, r) {
2677
2679
  }
2678
2680
  });
2679
2681
  }
2680
- function fa(e, t, n) {
2682
+ function ha(e, t, n) {
2681
2683
  return new e.Entity({
2682
2684
  polyline: {
2683
2685
  positions: [],
@@ -2687,14 +2689,14 @@ function fa(e, t, n) {
2687
2689
  }
2688
2690
  });
2689
2691
  }
2690
- function ha(e, t) {
2692
+ function ga(e, t) {
2691
2693
  if (!e?.billboard || !t.markerIcon || typeof Image > "u") return;
2692
2694
  const n = t.markerSize * 2, r = new Image();
2693
2695
  r.onload = () => {
2694
2696
  !e.billboard || !r.naturalWidth || !r.naturalHeight || (e.billboard.width = n, e.billboard.height = r.naturalHeight / r.naturalWidth * n);
2695
2697
  }, r.src = t.markerIcon;
2696
2698
  }
2697
- function ga(e, t, n = !0) {
2699
+ function pa(e, t, n = !0) {
2698
2700
  const r = new e.ConstantPositionProperty(
2699
2701
  e.Cartesian3.fromDegrees(0, 0, 0)
2700
2702
  ), i = new e.Entity({ position: r }), a = n ? e.HeightReference.CLAMP_TO_GROUND : e.HeightReference.NONE;
@@ -2708,18 +2710,18 @@ function ga(e, t, n = !0) {
2708
2710
  pixelSize: t.markerSize,
2709
2711
  color: at(e, t.markerColor, 1),
2710
2712
  heightReference: a
2711
- }, ha(i, t), i;
2713
+ }, ga(i, t), i;
2712
2714
  }
2713
- function pa(e, t) {
2715
+ function ma(e, t) {
2714
2716
  return t.map(
2715
2717
  (n) => e.Cartesian3.fromDegrees(n.lng, n.lat, n.altitude ?? 0)
2716
2718
  );
2717
2719
  }
2718
2720
  function Et(e) {
2719
- return { ...Nn, ...e };
2721
+ return { ...Vn, ...e };
2720
2722
  }
2721
- const ma = 100, va = 0.25;
2722
- function wa(e, t, n) {
2723
+ const va = 100, wa = 0.25;
2724
+ function ya(e, t, n) {
2723
2725
  const r = T({
2724
2726
  status: "idle",
2725
2727
  currentTime: 0,
@@ -2748,7 +2750,7 @@ function wa(e, t, n) {
2748
2750
  if (!u || !a || !o) return;
2749
2751
  const k = D();
2750
2752
  if (!k) return;
2751
- const F = o.state.currentTime, Y = l.trailTime > 0 ? Math.max(0, F - l.trailTime) : 0, ie = he(a, a.minTime + Y), te = a.points.slice(ie.index, E.index + 1), W = pa(k, te);
2753
+ const F = o.state.currentTime, Y = l.trailTime > 0 ? Math.max(0, F - l.trailTime) : 0, ie = he(a, a.minTime + Y), te = a.points.slice(ie.index, E.index + 1), W = ma(k, te);
2752
2754
  W.push(
2753
2755
  k.Cartesian3.fromDegrees(E.lng, E.lat, E.altitude)
2754
2756
  ), u.polyline && (u.polyline.positions = W);
@@ -2772,17 +2774,17 @@ function wa(e, t, n) {
2772
2774
  h = requestAnimationFrame(x);
2773
2775
  const k = Math.min(
2774
2776
  Math.max((E - g) / 1e3, 0),
2775
- va
2777
+ wa
2776
2778
  );
2777
2779
  g = E, o.tick(k);
2778
2780
  const F = he(a, a.minTime + o.state.currentTime);
2779
- b(F), E - C >= ma && (B(F), C = E), l.follow && S(F), v();
2781
+ b(F), E - C >= va && (B(F), C = E), l.follow && S(F), v();
2780
2782
  }, z = () => {
2781
2783
  h === null && (g = performance.now(), C = 0, h = requestAnimationFrame(x));
2782
2784
  }, H = (E, k) => {
2783
2785
  if (!a) return;
2784
- const F = !ua(E);
2785
- c = da(k, a.displayPoints, l, F), u = fa(k, l, F), s = ga(k, l, F), d = s.position ?? null, E.entities.add(c), E.entities.add(u), E.entities.add(s);
2786
+ const F = !da(E);
2787
+ c = fa(k, a.displayPoints, l, F), u = ha(k, l, F), s = pa(k, l, F), d = s.position ?? null, E.entities.add(c), E.entities.add(u), E.entities.add(s);
2786
2788
  const Y = he(
2787
2789
  a,
2788
2790
  a.minTime + (o ? o.state.currentTime : 0)
@@ -2791,7 +2793,7 @@ function wa(e, t, n) {
2791
2793
  }, V = (E, k) => {
2792
2794
  const F = w(), Y = D();
2793
2795
  if (!F || !Y) return;
2794
- $t.loadScripts(
2796
+ Wt.loadScripts(
2795
2797
  ["move-marker", "bmgl-header"],
2796
2798
  n?.serverUrl,
2797
2799
  n?.libsUrl || tt
@@ -2800,12 +2802,12 @@ function wa(e, t, n) {
2800
2802
  ), l = Et({ ...i, ...k });
2801
2803
  let ie;
2802
2804
  try {
2803
- ie = sa(E, l);
2805
+ ie = ca(E, l);
2804
2806
  } catch (te) {
2805
2807
  m.warn("[useMapTrajectory] 轨迹数据无效:", te);
2806
2808
  return;
2807
2809
  }
2808
- p(), y(), a = ie, o = ca(a, l), H(F, Y), v(), l.autoPlay && M();
2810
+ p(), y(), a = ie, o = ua(a, l), H(F, Y), v(), l.autoPlay && M();
2809
2811
  }, M = () => {
2810
2812
  o && (o.play(), v(), o.state.status === "playing" && z());
2811
2813
  }, I = () => {
@@ -2844,7 +2846,7 @@ function wa(e, t, n) {
2844
2846
  pointCount: 0
2845
2847
  };
2846
2848
  };
2847
- return $(() => {
2849
+ return G(() => {
2848
2850
  J();
2849
2851
  }), {
2850
2852
  state: r,
@@ -2860,11 +2862,11 @@ function wa(e, t, n) {
2860
2862
  destroy: J
2861
2863
  };
2862
2864
  }
2863
- function ya(e) {
2865
+ function Ca(e) {
2864
2866
  const t = D();
2865
2867
  return !!(t && t.SceneMode && e?.scene?.mode === t.SceneMode.SCENE2D);
2866
2868
  }
2867
- function Ca(e, t = 30) {
2869
+ function ba(e, t = 30) {
2868
2870
  let n = 1 / 0, r = -1 / 0, i = 1 / 0, a = -1 / 0;
2869
2871
  for (const c of e)
2870
2872
  c.lng < n && (n = c.lng), c.lng > r && (r = c.lng), c.lat < i && (i = c.lat), c.lat > a && (a = c.lat);
@@ -2876,7 +2878,7 @@ function Ca(e, t = 30) {
2876
2878
  { lng: Math.max(-180, n - l), lat: Math.min(85, a + l) }
2877
2879
  ];
2878
2880
  }
2879
- function an(e, t, n = 1) {
2881
+ function on(e, t, n = 1) {
2880
2882
  return e.Color.fromCssColorString(t).withAlpha(n);
2881
2883
  }
2882
2884
  function Xe(e, t) {
@@ -2884,40 +2886,40 @@ function Xe(e, t) {
2884
2886
  (n) => e.Cartesian3.fromDegrees(n.lng, n.lat, n.altitude ?? 0)
2885
2887
  );
2886
2888
  }
2887
- function ba(e, t, n, r, i) {
2889
+ function Ea(e, t, n, r, i) {
2888
2890
  const a = {
2889
2891
  // 多边形层次:外边界(覆盖范围)+ 洞(保留区域)=> 仅保留区域不被遮罩
2890
2892
  hierarchy: {
2891
2893
  positions: Xe(e, t),
2892
2894
  holes: [{ positions: Xe(e, n) }]
2893
2895
  },
2894
- material: an(e, r.fillColor, r.fillAlpha)
2896
+ material: on(e, r.fillColor, r.fillAlpha)
2895
2897
  };
2896
2898
  return i || (a.height = 0), new e.Entity({ polygon: a });
2897
2899
  }
2898
- function Ea(e, t, n, r) {
2900
+ function Sa(e, t, n, r) {
2899
2901
  return new e.Entity({
2900
2902
  polyline: {
2901
2903
  positions: Xe(e, t),
2902
2904
  width: n.outlineWidth,
2903
2905
  material: new e.PolylineGlowMaterialProperty({
2904
2906
  glowPower: 0.4,
2905
- color: an(e, n.outlineColor, n.outlineAlpha)
2907
+ color: on(e, n.outlineColor, n.outlineAlpha)
2906
2908
  }),
2907
2909
  clampToGround: r
2908
2910
  }
2909
2911
  });
2910
2912
  }
2911
- function $e(e) {
2912
- return { ...Vn, ...e };
2913
+ function Ge(e) {
2914
+ return { ...On, ...e };
2913
2915
  }
2914
- function Sa(e, t) {
2916
+ function Da(e, t) {
2915
2917
  const n = T({
2916
2918
  visible: !1,
2917
2919
  hasMask: !1,
2918
2920
  boundaryCount: 0
2919
2921
  });
2920
- let r = $e(t), i = null, a = null, o = null, l = null;
2922
+ let r = Ge(t), i = null, a = null, o = null, l = null;
2921
2923
  const c = () => {
2922
2924
  const v = e.value;
2923
2925
  return v && v.entities ? v : null;
@@ -2926,8 +2928,8 @@ function Sa(e, t) {
2926
2928
  v && (a && v.entities.remove(a), o && v.entities.remove(o)), a = null, o = null;
2927
2929
  }, s = (v, b) => {
2928
2930
  if (!i) return;
2929
- const B = !ya(v), S = r.outerRing ?? Ca(i);
2930
- a = ba(b, S, i, r, B), o = r.showOutline ? Ea(b, i, r, B) : null, v.entities.add(a), o && v.entities.add(o);
2931
+ const B = !Ca(v), S = r.outerRing ?? ba(i);
2932
+ a = Ea(b, S, i, r, B), o = r.showOutline ? Sa(b, i, r, B) : null, v.entities.add(a), o && v.entities.add(o);
2931
2933
  }, d = () => {
2932
2934
  const v = c(), b = D();
2933
2935
  !v || !b || !i || (u(), s(v, b));
@@ -2938,7 +2940,7 @@ function Sa(e, t) {
2938
2940
  v.morphComplete.addEventListener(b), l = () => v.morphComplete.removeEventListener(b);
2939
2941
  }, g = (v, b) => {
2940
2942
  const B = c(), S = D();
2941
- !B || !S || !v || !v.length || (r = $e({ ...t, ...b }), i = v, u(), s(B, S), n.value = {
2943
+ !B || !S || !v || !v.length || (r = Ge({ ...t, ...b }), i = v, u(), s(B, S), n.value = {
2942
2944
  visible: !0,
2943
2945
  hasMask: !0,
2944
2946
  boundaryCount: v.length
@@ -2948,15 +2950,15 @@ function Sa(e, t) {
2948
2950
  }, w = () => {
2949
2951
  u();
2950
2952
  }, p = () => {
2951
- l && (l(), l = null), u(), i = null, r = $e(t), n.value = { visible: !1, hasMask: !1, boundaryCount: 0 };
2953
+ l && (l(), l = null), u(), i = null, r = Ge(t), n.value = { visible: !1, hasMask: !1, boundaryCount: 0 };
2952
2954
  }, y = () => {
2953
2955
  p();
2954
2956
  };
2955
- return $(() => {
2957
+ return G(() => {
2956
2958
  y();
2957
2959
  }), { state: n, setMask: g, setVisible: C, clear: p, reapply: d, remove: w, destroy: y };
2958
2960
  }
2959
- function Da(e = 0.5) {
2961
+ function Ta(e = 0.5) {
2960
2962
  return `
2961
2963
  uniform sampler2D colorTexture;
2962
2964
  varying vec2 v_textureCoordinates;
@@ -2986,7 +2988,7 @@ void main(void){
2986
2988
  }
2987
2989
  `;
2988
2990
  }
2989
- function Ta(e = 0.3) {
2991
+ function Ma(e = 0.3) {
2990
2992
  return `
2991
2993
  uniform sampler2D colorTexture;
2992
2994
  varying vec2 v_textureCoordinates;
@@ -3024,7 +3026,7 @@ const St = {
3024
3026
  rain: 0.5,
3025
3027
  snow: 0.3
3026
3028
  };
3027
- function Ma(e, t) {
3029
+ function Ia(e, t) {
3028
3030
  const n = T({ type: "clear", active: !1 });
3029
3031
  let r = null;
3030
3032
  const i = () => {
@@ -3037,7 +3039,7 @@ function Ma(e, t) {
3037
3039
  n.value = { type: "clear", active: !1 };
3038
3040
  return;
3039
3041
  }
3040
- const h = u?.opacity ?? t?.opacity ?? St[c], g = c === "rain" ? Da(h) : Ta(h);
3042
+ const h = u?.opacity ?? t?.opacity ?? St[c], g = c === "rain" ? Ta(h) : Ma(h);
3041
3043
  r = new d.PostProcessStage({
3042
3044
  name: `weather_${c}`,
3043
3045
  fragmentShader: g
@@ -3047,24 +3049,24 @@ function Ma(e, t) {
3047
3049
  }, l = () => {
3048
3050
  o();
3049
3051
  };
3050
- return $(() => {
3052
+ return G(() => {
3051
3053
  l();
3052
3054
  }), { state: n, setWeather: a, clear: o, destroy: l };
3053
3055
  }
3054
- const Ia = 6, xa = 18, Aa = 20;
3055
- function La(e) {
3056
+ const xa = 6, Aa = 18, La = 20;
3057
+ function ka(e) {
3056
3058
  return {
3057
- day: e?.dayStartHour ?? Ia,
3058
- dusk: e?.duskStartHour ?? xa,
3059
- night: e?.nightStartHour ?? Aa
3059
+ day: e?.dayStartHour ?? xa,
3060
+ dusk: e?.duskStartHour ?? Aa,
3061
+ night: e?.nightStartHour ?? La
3060
3062
  };
3061
3063
  }
3062
- function ka(e, t) {
3063
- const { day: n, dusk: r, night: i } = La(t);
3064
+ function _a(e, t) {
3065
+ const { day: n, dusk: r, night: i } = ka(t);
3064
3066
  return e >= n && e < r ? "day" : e >= r && e < i ? "dusk" : "night";
3065
3067
  }
3066
3068
  const We = { x: 0.5781, y: -0.5781, z: 0.5758 };
3067
- function _a(e, t) {
3069
+ function Pa(e, t) {
3068
3070
  if (e === "day") return new t.SunLight();
3069
3071
  const n = e === "night";
3070
3072
  return new t.DirectionalLight({
@@ -3077,7 +3079,7 @@ function _a(e, t) {
3077
3079
  intensity: n ? 0.5 : 1
3078
3080
  });
3079
3081
  }
3080
- function Pa(e, t, n) {
3082
+ function Ba(e, t, n) {
3081
3083
  const r = n?.is3D ?? T(!0), i = T(null), a = T({
3082
3084
  enabled: !!t?.enabled,
3083
3085
  mode: "auto",
@@ -3087,7 +3089,7 @@ function Pa(e, t, n) {
3087
3089
  let o, l, c;
3088
3090
  const u = () => {
3089
3091
  const p = t?.now?.() ?? /* @__PURE__ */ new Date();
3090
- a.value.hour = p.getHours(), a.value.mode = i.value ? "manual" : "auto", a.value.period = i.value ?? ka(a.value.hour, t);
3092
+ a.value.hour = p.getHours(), a.value.mode = i.value ? "manual" : "auto", a.value.period = i.value ?? _a(a.value.hour, t);
3091
3093
  }, s = () => {
3092
3094
  const p = e.value;
3093
3095
  if (!p?.scene) {
@@ -3101,7 +3103,7 @@ function Pa(e, t, n) {
3101
3103
  if (!p?.scene || !y) return;
3102
3104
  const v = p.scene;
3103
3105
  l === void 0 && (o = v.light, l = !!v.globe.enableLighting), v.globe.enableLighting = !0;
3104
- const b = _a(a.value.period, y);
3106
+ const b = Pa(a.value.period, y);
3105
3107
  v.light = b, c = b;
3106
3108
  }, h = () => {
3107
3109
  u(), a.value.enabled && r.value ? d() : s();
@@ -3112,21 +3114,21 @@ function Pa(e, t, n) {
3112
3114
  }, w = () => {
3113
3115
  a.value.enabled = !1, s();
3114
3116
  };
3115
- return $(() => w()), u(), { state: a, setEnabled: g, setPeriod: C, apply: h, destroy: w };
3117
+ return G(() => w()), u(), { state: a, setEnabled: g, setPeriod: C, apply: h, destroy: w };
3116
3118
  }
3117
- function Ba(e, t) {
3119
+ function Ra(e, t) {
3118
3120
  const n = e.layer || "PostGIS:dommap";
3119
3121
  return `${e.baseUrl.replace(/\/$/, "")}?layer=${n}&geo-token=${t}&style=&tilematrixset=EPSG%3A3857&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fvnd.jpeg-png&TileMatrix=EPSG%3A3857%3A{TileMatrix}&TileCol={TileCol}&TileRow={TileRow}`;
3120
3122
  }
3121
- function Ra(e) {
3123
+ function za(e) {
3122
3124
  return async () => {
3123
3125
  const t = e.token;
3124
3126
  if (!t)
3125
3127
  throw new Error("未提供 GeoServer 令牌(geoserver.token),无法拼接 WMTS 地址");
3126
- return Ba(e, t);
3128
+ return Ra(e, t);
3127
3129
  };
3128
3130
  }
3129
- function za() {
3131
+ function Fa() {
3130
3132
  return {
3131
3133
  mapType: T("3d"),
3132
3134
  mapBase: T("bigemap"),
@@ -3140,7 +3142,7 @@ function za() {
3140
3142
  function Le(e) {
3141
3143
  return typeof e == "number" && !Number.isNaN(e);
3142
3144
  }
3143
- function Fa(e) {
3145
+ function Na(e) {
3144
3146
  const t = T(""), n = T([]), r = T(!1), i = T(!1), a = T(!1), o = T(-1), l = T(-1);
3145
3147
  let c, u, s = 0;
3146
3148
  const d = R(
@@ -3173,7 +3175,7 @@ function Fa(e) {
3173
3175
  },
3174
3176
  e.debounceTime
3175
3177
  );
3176
- }, C = (S) => Le(S.altitude) ? S.altitude + jn : e.position?.height ?? ye.height, w = (S) => {
3178
+ }, C = (S) => Le(S.altitude) ? S.altitude + Yn : e.position?.height ?? ye.height, w = (S) => {
3177
3179
  if (!Le(S.lng) || !Le(S.lat)) return;
3178
3180
  e.setView(S.lng, S.lat, C(S));
3179
3181
  const x = e.addWave({
@@ -3184,13 +3186,13 @@ function Fa(e) {
3184
3186
  ],
3185
3187
  config: {
3186
3188
  color: "#0a84ff",
3187
- radius: Hn,
3189
+ radius: jn,
3188
3190
  duration: nt.WAVE
3189
3191
  }
3190
3192
  });
3191
3193
  u && clearTimeout(u), u = setTimeout(
3192
3194
  () => e.removeWave(x),
3193
- Un
3195
+ Hn
3194
3196
  );
3195
3197
  }, p = (S, x) => {
3196
3198
  l.value = x, w(S), r.value = !1;
@@ -3205,7 +3207,7 @@ function Fa(e) {
3205
3207
  }, B = () => {
3206
3208
  t.value = "", n.value = [], r.value = !1, a.value = !1, l.value = -1, o.value = -1;
3207
3209
  };
3208
- return $(() => {
3210
+ return G(() => {
3209
3211
  c && clearTimeout(c), u && clearTimeout(u);
3210
3212
  }), {
3211
3213
  searchInput: t,
@@ -3224,16 +3226,17 @@ function Fa(e) {
3224
3226
  clearSearch: B
3225
3227
  };
3226
3228
  }
3227
- function Na(e) {
3229
+ function Va(e) {
3228
3230
  e.toggleMapTypeCore();
3229
- const n = (e.mapType.value === "3d" ? "2d" : "3d") === "3d" ? Wn : $n;
3231
+ const n = (e.mapType.value === "3d" ? "2d" : "3d") === "3d" ? Un : Wn;
3230
3232
  setTimeout(() => e.redrawAllEntities(), n);
3231
3233
  }
3232
- function Va(e) {
3234
+ function Oa(e) {
3233
3235
  e.position && e.setView(e.position.lng, e.position.lat, e.position.height);
3234
3236
  }
3235
3237
  async function Ze(e) {
3236
- e.loadingSubtitle.value = "正在添加卫星影像图层...", await e.addImageryLayer("bigemap.dc-satellite"), e.loadingSubtitle.value = "正在添加街道地名图层...", await e.addImageryLayer("bigemap.dc-street");
3238
+ for (const t of e.baseLayers)
3239
+ e.loadingSubtitle.value = `正在添加底图图层(${t})...`, await e.addImageryLayer(t);
3237
3240
  }
3238
3241
  async function Dt(e) {
3239
3242
  if (!e.wmtsUrlProvider)
@@ -3243,7 +3246,7 @@ async function Dt(e) {
3243
3246
  throw new Error("wmtsUrlProvider 未返回有效地址,无法切换到生产底图");
3244
3247
  await e.addWmtsLayer(t, "geoserver");
3245
3248
  }
3246
- async function Oa(e) {
3249
+ async function $a(e) {
3247
3250
  if (!e.map.value) return;
3248
3251
  const t = e.mapBase.value, n = t === "bigemap" ? "geoserver" : "bigemap";
3249
3252
  e.loadingSubtitle.value = "正在切换地图底图...";
@@ -3265,30 +3268,30 @@ async function Ga(e) {
3265
3268
  try {
3266
3269
  await Ze(e);
3267
3270
  } catch (t) {
3268
- m.error("加载默认图层失败:", t);
3271
+ m.error("加载底图图层失败:", t);
3269
3272
  }
3270
3273
  }
3271
- function $a(e) {
3274
+ function Wa(e) {
3272
3275
  return (t) => {
3273
3276
  if (e.getIsDrawing() || !e.map.value || !t.position) return;
3274
3277
  e.removePopup();
3275
3278
  const n = e.map.value.scene.pick(t.position);
3276
3279
  if (n && n.primitive && n.primitive.pointData) {
3277
3280
  const r = n.primitive.pointData;
3278
- e.onPointClick(r), e.showPointPopup(on(r), {
3281
+ e.onPointClick(r), e.showPointPopup(ln(r), {
3279
3282
  offsetX: 0,
3280
3283
  offsetY: -25
3281
3284
  });
3282
3285
  }
3283
3286
  };
3284
3287
  }
3285
- function Wa(e, t) {
3288
+ function Ua(e, t) {
3286
3289
  const n = document.querySelector(".map-point-popup");
3287
3290
  if (!n) return !1;
3288
3291
  const r = t.getBoundingClientRect(), i = n.getBoundingClientRect(), a = r.left + e.x, o = r.top + e.y;
3289
3292
  return a >= i.left - 8 && a <= i.right + 8 && o >= i.top - 8 && o <= i.bottom + 8;
3290
3293
  }
3291
- function Ua(e) {
3294
+ function Ha(e) {
3292
3295
  let t = null;
3293
3296
  const n = (r) => r?.id ?? r?.pointNo ?? r?.name ?? "";
3294
3297
  return (r) => {
@@ -3296,24 +3299,24 @@ function Ua(e) {
3296
3299
  const i = e.map.value.scene.canvas, a = e.map.value.scene.pick(r.endPosition);
3297
3300
  if (a && a.primitive && a.primitive.pointData) {
3298
3301
  const o = a.primitive.pointData, l = n(o);
3299
- l !== t && (t = l, e.showPointPopup(on(o), {
3302
+ l !== t && (t = l, e.showPointPopup(ln(o), {
3300
3303
  offsetX: 0,
3301
3304
  offsetY: -25
3302
3305
  }));
3303
- } else Wa(r.endPosition, i) || (t = null, e.removePopup());
3306
+ } else Ua(r.endPosition, i) || (t = null, e.removePopup());
3304
3307
  };
3305
3308
  }
3306
- function on(e) {
3309
+ function ln(e) {
3307
3310
  return { ...e };
3308
3311
  }
3309
- function Ha(e) {
3312
+ function ja(e) {
3310
3313
  if (!e.map.value) return null;
3311
3314
  const t = P(), n = new t.ScreenSpaceEventHandler(e.map.value.scene.canvas);
3312
3315
  return n.setInputAction(
3313
- $a(e),
3316
+ Wa(e),
3314
3317
  t.ScreenSpaceEventType.LEFT_CLICK
3315
3318
  ), n.setInputAction(
3316
- Ua(e),
3319
+ Ha(e),
3317
3320
  t.ScreenSpaceEventType.MOUSE_MOVE
3318
3321
  ), n;
3319
3322
  }
@@ -3325,11 +3328,15 @@ function Tt(e) {
3325
3328
  m.warn("[useMapView] destroy click listener error:", t);
3326
3329
  }
3327
3330
  }
3328
- const ln = [
3331
+ const sn = [
3329
3332
  "containerId",
3330
3333
  "position",
3331
3334
  "serverUrl",
3335
+ "accessToken",
3332
3336
  "libsUrl",
3337
+ "mapId",
3338
+ "terrainId",
3339
+ "baseLayers",
3333
3340
  "showSearch",
3334
3341
  "showControls",
3335
3342
  "showDeleteControls",
@@ -3340,11 +3347,15 @@ const ln = [
3340
3347
  "geoserver",
3341
3348
  "contourConfig",
3342
3349
  "lightingConfig"
3343
- ], ja = {
3350
+ ], Ya = {
3344
3351
  containerId: String,
3345
3352
  position: Object,
3346
3353
  serverUrl: String,
3354
+ accessToken: String,
3347
3355
  libsUrl: String,
3356
+ mapId: String,
3357
+ terrainId: String,
3358
+ baseLayers: Array,
3348
3359
  showSearch: Boolean,
3349
3360
  showControls: Boolean,
3350
3361
  showDeleteControls: Boolean,
@@ -3356,33 +3367,36 @@ const ln = [
3356
3367
  contourConfig: Object,
3357
3368
  lightingConfig: Boolean
3358
3369
  };
3359
- function Ya(e, t) {
3370
+ function qa(e, t) {
3360
3371
  const n = e ?? {}, r = {};
3361
- for (const i of ln) r[i] = n[i];
3372
+ for (const i of sn) r[i] = n[i];
3362
3373
  return { ...r, theme: t.theme, popupConfig: t.popupConfig };
3363
3374
  }
3364
- function qa(e, t) {
3365
- const n = za(), r = R(() => !!e.showSearch), i = R(() => e.showControls !== !1), a = R(() => e.showDeleteControls !== !1), o = R(() => !!e.showStatus), l = e.wmtsUrlProvider ?? (e.geoserver ? Ra(e.geoserver) : void 0), c = R(() => !!l), u = R(() => ({
3375
+ function Ka(e, t) {
3376
+ const n = Fa(), r = R(() => !!e.showSearch), i = R(() => e.showControls !== !1), a = R(() => e.showDeleteControls !== !1), o = R(() => !!e.showStatus), l = e.wmtsUrlProvider ?? (e.geoserver ? za(e.geoserver) : void 0), c = R(() => !!l), u = R(() => ({
3366
3377
  containerId: e.containerId,
3367
3378
  position: e.position || ye,
3368
3379
  serverUrl: e.serverUrl,
3369
- libsUrl: e.libsUrl
3370
- })), { map: s, state: d, initMap: h, setView: g, toggleMapType: C } = Sr(u.value), { loadPoints: w, searchByText: p, updatePoints: y, clearPoints: v, searchByShape: b } = Vr(s), { drawEntity: B, deleteEntity: S, redrawAllEntities: x } = oi(s), {
3380
+ accessToken: e.accessToken,
3381
+ libsUrl: e.libsUrl,
3382
+ mapId: e.mapId,
3383
+ terrainId: e.terrainId
3384
+ })), { map: s, state: d, initMap: h, setView: g, toggleMapType: C } = Dr(u.value), { loadPoints: w, searchByText: p, updatePoints: y, clearPoints: v, searchByShape: b } = Or(s), { drawEntity: B, deleteEntity: S, redrawAllEntities: x } = li(s), {
3371
3385
  startDrawing: z,
3372
3386
  cancelDrawing: H,
3373
3387
  clearAllDrawings: V,
3374
3388
  removeDrawing: M,
3375
3389
  setCallback: I,
3376
3390
  getIsDrawing: O
3377
- } = _i(s), { showPointPopup: _, removePopup: q } = ji(s, void 0, { displayConfig: e.popupConfig }), { addWave: Z, removeWave: se } = Yi(s), { addWmtsLayer: ce, addImageryLayer: J, removeAllLayers: E, setLayerVisible: k } = ra(s), { contourVisible: F, setContourVisible: Y, reapply: ie, remove: te } = oa(
3391
+ } = Pi(s), { showPointPopup: _, removePopup: q } = Yi(s, void 0, { displayConfig: e.popupConfig }), { addWave: Z, removeWave: se } = qi(s), { addWmtsLayer: ce, addImageryLayer: J, removeAllLayers: E, setLayerVisible: k } = ia(s), { contourVisible: F, setContourVisible: Y, reapply: ie, remove: te } = la(
3378
3392
  s,
3379
3393
  e.contourConfig
3380
- ), W = wa(s, void 0, {
3394
+ ), W = ya(s, void 0, {
3381
3395
  serverUrl: e.serverUrl,
3382
3396
  libsUrl: e.libsUrl
3383
- }), ue = Sa(s), Se = Ma(s), ae = Pa(s, { enabled: e.lightingConfig === !0 }, { is3D: R(() => d.value.mapType === "3d") });
3397
+ }), ue = Da(s), Se = Ia(s), ae = Ba(s, { enabled: e.lightingConfig === !0 }, { is3D: R(() => d.value.mapType === "3d") });
3384
3398
  n.theme.value = e.theme || "dark";
3385
- const gn = Fa({
3399
+ const pn = Na({
3386
3400
  searchByText: p,
3387
3401
  setView: g,
3388
3402
  addWave: Z,
@@ -3395,14 +3409,14 @@ function qa(e, t) {
3395
3409
  Re += 1, n.loadingTitle.value = A, n.loadingSubtitle.value = Ve, d.value.isLoading = !0;
3396
3410
  }, ot = () => {
3397
3411
  d.value.isLoading = !1;
3398
- }, pn = (A, Ve, Tn) => {
3412
+ }, mn = (A, Ve, Mn) => {
3399
3413
  ze(A, Ve);
3400
- const Mn = Re;
3414
+ const In = Re;
3401
3415
  setTimeout(() => {
3402
- Mn === Re && ot();
3403
- }, Tn);
3404
- }, mn = "bigemap.dc-street", Fe = () => {
3405
- k(mn, n.mapNameVisible.value);
3416
+ In === Re && ot();
3417
+ }, Mn);
3418
+ }, vn = "bigemap.dc-street", Fe = () => {
3419
+ k(vn, n.mapNameVisible.value);
3406
3420
  }, lt = (A) => {
3407
3421
  n.mapNameVisible.value = !!A, Fe();
3408
3422
  }, st = (A) => {
@@ -3413,6 +3427,8 @@ function qa(e, t) {
3413
3427
  mapBase: n.mapBase,
3414
3428
  loadingSubtitle: n.loadingSubtitle,
3415
3429
  position: e.position,
3430
+ // 底图图层:配置优先,未配置回退默认(卫星影像 + 街道地名)
3431
+ baseLayers: e.baseLayers ?? Ot,
3416
3432
  // 注意:传入含 geoserver 回退的完整 provider(与 wmtsEnabled 判定同源),
3417
3433
  // 否则仅配置 geoserver 时按钮可见但切换必然失败
3418
3434
  wmtsUrlProvider: l,
@@ -3422,29 +3438,29 @@ function qa(e, t) {
3422
3438
  removeAllLayers: E,
3423
3439
  addImageryLayer: J,
3424
3440
  addWmtsLayer: ce
3425
- }, vn = {
3441
+ }, wn = {
3426
3442
  map: s,
3427
3443
  getIsDrawing: O,
3428
3444
  removePopup: q,
3429
3445
  showPointPopup: _,
3430
3446
  onPointClick: t.onPointClick
3431
- }, wn = () => {
3447
+ }, yn = () => {
3432
3448
  V(), t.emit("clear-button-click"), t.emit("clear-draw");
3433
- }, yn = (A) => {
3449
+ }, Cn = (A) => {
3434
3450
  n.currentDrawType.value = A, z(A);
3435
- }, Cn = () => {
3436
- n.currentDrawType.value = null;
3437
3451
  }, bn = () => {
3452
+ n.currentDrawType.value = null;
3453
+ }, En = () => {
3438
3454
  I((A) => {
3439
- Cn(), A.operation === "draw" || A.operation === "edit" ? t.emit("draw-end", A) : A.operation === "delete" ? t.emit("draw-delete", A) : A.operation === "clear" && t.emit("draw-clear", A);
3455
+ bn(), A.operation === "draw" || A.operation === "edit" ? t.emit("draw-end", A) : A.operation === "delete" ? t.emit("draw-delete", A) : A.operation === "clear" && t.emit("draw-clear", A);
3440
3456
  });
3441
3457
  };
3442
3458
  let de;
3443
- const En = () => {
3459
+ const Sn = () => {
3444
3460
  de && clearTimeout(de), de = setTimeout(() => {
3445
3461
  d.value.isLoading = !1, t.emit("ready"), t.emit("init");
3446
- }, On);
3447
- }, Sn = () => {
3462
+ }, $n);
3463
+ }, Dn = () => {
3448
3464
  const A = {
3449
3465
  map: s,
3450
3466
  state: d,
@@ -3488,12 +3504,12 @@ function qa(e, t) {
3488
3504
  t.expose(A), t.emit("expose", A);
3489
3505
  };
3490
3506
  let Te = null, Ne = !1;
3491
- $(() => {
3507
+ G(() => {
3492
3508
  Tt(Te), Te = null, de && clearTimeout(de);
3493
3509
  });
3494
- const Dn = async () => {
3510
+ const Tn = async () => {
3495
3511
  try {
3496
- ze("地图加载中", "正在初始化地理数据..."), await h(), d.value.isLoading = !0, await Ga(De), Fe(), Tt(Te), Te = Ha(vn), bn(), ae.apply(), n.mapType.value = d.value.mapType, e.position && await g(e.position.lng, e.position.lat, e.position.height), En(), Sn();
3512
+ ze("地图加载中", "正在初始化地理数据..."), await h(), d.value.isLoading = !0, await Ga(De), Fe(), Tt(Te), Te = ja(wn), En(), ae.apply(), n.mapType.value = d.value.mapType, e.position && await g(e.position.lng, e.position.lat, e.position.height), Sn(), Dn();
3497
3513
  } catch (A) {
3498
3514
  throw d.value.isLoading = !1, d.value.error = A instanceof Error ? A : new Error(String(A)), t.emit("error", A), A;
3499
3515
  }
@@ -3507,9 +3523,9 @@ function qa(e, t) {
3507
3523
  showDeleteControls: a,
3508
3524
  showStatus: o,
3509
3525
  wmtsEnabled: c,
3510
- search: gn,
3511
- onDelete: wn,
3512
- handleStartDrawing: yn,
3526
+ search: pn,
3527
+ onDelete: yn,
3528
+ handleStartDrawing: Cn,
3513
3529
  setMapNameVisible: lt,
3514
3530
  setContourVisible: Y,
3515
3531
  contourVisible: F,
@@ -3519,23 +3535,23 @@ function qa(e, t) {
3519
3535
  lightingState: ae.state,
3520
3536
  setTheme: st,
3521
3537
  toggleMapType: () => {
3522
- pn("视图切换中", "正在切换 2D/3D 视图...", 800), Na(De), n.mapType.value = d.value.mapType, d.value.mapType === "2d" ? te() : ie(), W.reapply(), ae.apply();
3538
+ mn("视图切换中", "正在切换 2D/3D 视图...", 800), Va(De), n.mapType.value = d.value.mapType, d.value.mapType === "2d" ? te() : ie(), W.reapply(), ae.apply();
3523
3539
  },
3524
- resetView: () => Va(De),
3540
+ resetView: () => Oa(De),
3525
3541
  toggleMapBaseLayer: async () => {
3526
3542
  if (!Ne) {
3527
3543
  Ne = !0, ze("底图切换中", "正在切换地图底图...");
3528
3544
  try {
3529
- await Oa(De), Fe();
3545
+ await $a(De), Fe();
3530
3546
  } finally {
3531
3547
  Ne = !1, ot();
3532
3548
  }
3533
3549
  }
3534
3550
  },
3535
- init: Dn
3551
+ init: Tn
3536
3552
  };
3537
3553
  }
3538
- const sn = /* @__PURE__ */ U({
3554
+ const cn = /* @__PURE__ */ U({
3539
3555
  name: "GameLoading",
3540
3556
  props: {
3541
3557
  visible: {
@@ -3566,68 +3582,68 @@ const sn = /* @__PURE__ */ U({
3566
3582
  class: "apple-loading-subtitle"
3567
3583
  }, [e.subtitle])])]) : null;
3568
3584
  }
3569
- }), Ka = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 2D 平面地图:2x2 坐标网格瓦片,表达俯视平面视角 -->
3570
- <path fill="#000000" d="M4 3.5h6.7a.5.5 0 0 1 .5.5v6.7a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5zm9.3 0H20a.5.5 0 0 1 .5.5v6.7a.5.5 0 0 1-.5.5h-6.7a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5zM4 12.8h6.7a.5.5 0 0 1 .5.5V20a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5v-6.7a.5.5 0 0 1 .5-.5zm9.3 0H20a.5.5 0 0 1 .5.5V20a.5.5 0 0 1-.5.5h-6.7a.5.5 0 0 1-.5-.5v-6.7a.5.5 0 0 1 .5-.5z"/></svg>
3571
- `, Xa = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 3D 立体:等轴测立方体(顶面 + 左右侧面),表达三维视角 -->
3572
- <path fill="#000000" d="M12 2.6 20.6 7.1 12 11.6 3.4 7.1 12 2.6z"/>
3573
- <path fill="#000000" d="M3.4 7.1v9.6L12 21.4v-9.8L3.4 7.1z"/>
3574
- <path fill="#000000" d="M20.6 7.1v9.6L12 21.4v-9.8l8.6-4.5z"/></svg>
3575
- `, Za = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438544903" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19690" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M921.6 905.6H64V118.4h300.8v-64H0v915.2h985.6v-288h-64v224z m-640-467.2v-44.8h-64v364.8h64v-156.8c0-48 0-83.2 9.6-102.4 9.6-19.2 25.6-35.2 38.4-48 19.2-9.6 38.4-12.8 57.6-12.8 19.2 0 35.2 3.2 48 12.8s19.2 25.6 25.6 38.4c3.2 12.8 3.2 41.6 3.2 83.2v188.8h57.6v-144c0-48 3.2-83.2 9.6-102.4 3.2-25.6 19.2-38.4 38.4-54.4 19.2-12.8 38.4-19.2 57.6-19.2 19.2 0 38.4 3.2 48 12.8 12.8 9.6 19.2 25.6 25.6 38.4 3.2 19.2 3.2 41.6 3.2 76.8v201.6h64v-201.6c0-67.2-12.8-115.2-38.4-140.8-25.6-25.6-54.4-38.4-86.4-38.4s-57.6 9.6-83.2 25.6-38.4 32-48 51.2c-3.2-19.2-19.2-35.2-38.4-48-25.6-12.8-48-25.6-76.8-25.6-57.6 0-92.8 6.4-115.2 44.8z m739.2-51.2v51.2h-214.4v-35.2c22.4-41.6 57.6-80 102.4-112 44.8-32 60.8-60.8 60.8-86.4 0-32-16-44.8-51.2-44.8-28.8 0-44.8 19.2-54.4 54.4L809.6 192c19.2-51.2 57.6-80 112-80 64 3.2 96 32 102.4 89.6 6.4 41.6-22.4 80-80 115.2-35.2 25.6-54.4 48-70.4 67.2 0 3.2 147.2 3.2 147.2 3.2z" p-id="19691" fill="#515151"></path></svg>', Ja = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438589408" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24787" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M456 697.6c17.6-11.2 33.6-20.8 52.8-32l-38.4-52.8c-17.6 14.4-32 25.6-48 38.4 11.2 16 22.4 30.4 33.6 46.4z" fill="#515151" p-id="24788"></path><path d="M73.6 940.8C54.4 934.4 43.2 915.2 48 896L300.8 76.8c6.4-17.6 25.6-28.8 43.2-24 17.6 6.4 28.8 25.6 24 43.2L116.8 915.2c-4.8 20.8-24 32-43.2 25.6z" fill="#515151" p-id="24789"></path><path d="M48 908.8c0-19.2 16-36.8 35.2-36.8h856c19.2 0 35.2 16 35.2 35.2 0 19.2-16 35.2-35.2 35.2H83.2C64 944 48 928 48 908.8z" fill="#515151" p-id="24790"></path><path d="M292.8 550.4c-25.6-16-51.2-30.4-78.4-41.6l28.8-65.6c32 12.8 62.4 28.8 89.6 48l-40 59.2zM470.4 747.2c-30.4-60.8-72-113.6-123.2-156.8l46.4-54.4c59.2 49.6 105.6 110.4 140.8 179.2l-64 32zM518.4 896c-4.8-28.8-11.2-59.2-22.4-86.4l68.8-24c11.2 32 19.2 65.6 25.6 99.2l-72 11.2z" fill="#515151" p-id="24791"></path><path d="M688 456c40 0 72 32 72 72s-32 72-72 72-72-32-72-72 32-72 72-72m0-72c-80 0-144 64-144 144s64 144 144 144 144-64 144-144-64-144-144-144z" fill="#515151" p-id="24792"></path></svg>', Qa = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 底图图层:三层堆叠图例,表达地图图层切换 -->
3576
- <path fill="#000000" d="M12 14.5 2.8 9.7 12 4.9l9.2 4.8L12 14.5z"/>
3577
- <path fill="#000000" d="M2.8 11.2 12 16l9.2-4.8-1.6-.9L12 14.2 4.4 10.3l-1.6.9z"/>
3578
- <path fill="#000000" d="M2.8 14.7 12 19.5l9.2-4.8-1.6-.9L12 17.7 4.4 13.8l-1.6.9z"/></svg>
3579
- `, eo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439464662" class="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33927" xmlns:xlink="http://www.w3.org/1999/xlink" width="225" height="200"><path d="M1056.810667 606.890667c-45.781333 172.373333-204.544 305.237333-402.176 334.592v59.264h-165.418667v-59.264c-197.632-29.354667-356.394667-162.261333-402.133333-334.592H16.554667v-165.418667h62.08c30.592-191.274667 198.101333-342.4 410.538666-374.016V8.277333h165.418667v59.221334c212.437333 31.573333 379.946667 182.741333 410.538667 374.016h62.08v165.418666h-70.442667v-0.042666z m-61.568 0h-33.450667v-165.418667h43.349333c-29.866667-158.037333-170.410667-284.202667-350.549333-314.24v46.464h-165.418667V127.146667c-180.053333 30.037333-320.554667 156.202667-350.506666 314.24h43.349333v165.418666h-33.408c44.074667 139.264 175.786667 247.338667 340.565333 274.773334v-46.293334h165.418667v46.378667c164.864-27.434667 296.576-135.509333 340.650667-274.816zM528.64 134.272h86.613333V47.616h-86.613333v86.613333z m0 827.050667h86.613333v-86.613334h-86.613333v86.613334z m-472.618667-393.813334h86.613334V480.853333h-86.613334v86.613334z m945.194667 0h86.656V480.853333h-86.613333v86.613334z" p-id="33928" fill="#515151"></path></svg>', to = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766223878706" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7643" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M921.6 512 880.64 512 972.8 972.8C972.8 1001.088 949.888 1024 921.6 1024L102.4 1024C74.112 1024 51.2 1001.088 51.2 972.8L143.36 512 102.4 512C74.112 512 51.2 489.088 51.2 460.8L51.2 409.6C51.2 381.312 74.112 358.4 102.4 358.4L409.6 358.4 409.6 102.4C409.6 45.8496 455.4496 0 512 0 568.5504 0 614.4 45.8496 614.4 102.4L614.4 358.4 921.6 358.4C949.888 358.4 972.8 381.312 972.8 409.6L972.8 460.8C972.8 489.088 949.888 512 921.6 512ZM102.4 972.8 257.6384 972.8C254.1056 967.5008 252.4416 960.9472 253.6192 954.1888L284.7488 726.5024C287.2064 712.6016 300.4672 703.2832 314.3936 705.7408 328.32 708.1984 337.6128 721.4848 335.1808 735.4112L304.0512 963.072C303.4112 966.6816 302.0032 969.9328 300.1088 972.8L921.6 972.8 819.2 512 204.8 512 102.4 972.8ZM563.2 102.4C563.2 74.112 540.288 51.2 512 51.2 483.712 51.2 460.8 74.112 460.8 102.4L460.8 358.4 563.2 358.4 563.2 102.4ZM921.6 409.6 102.4 409.6 102.4 460.8 921.6 460.8 921.6 409.6Z" fill="#272636" p-id="7644"></path></svg>', no = `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><g fill="none" stroke="#515151" stroke-width="72" stroke-linecap="round" stroke-linejoin="round"><path d="M180 292c56-72 128 88 186 14s128 88 186 14 128 88 186 14"/><path d="M104 500c74-96 148 132 222 36s148 132 222 36 148 132 222 36 148 132 222 36"/><path d="M40 720c112-128 224 176 336 48s224 176 336 48 224 176 336 48"/></g></svg>
3580
- `, ro = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766223494940" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7307" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M635.712 78.72A127.808 127.808 0 0 0 569.472 54.72a633.792 633.792 0 0 0-52.224-1.408h-10.56a542.08 542.08 0 0 0-50.56 1.408 127.744 127.744 0 0 0-67.52 25.024 127.232 127.232 0 0 0-32.896 39.552c-7.808 13.696-15.552 30.72-24.32 50.048l-15.232 33.28H128A42.688 42.688 0 1 0 128 288h32V832A160 160 0 0 0 320 992h384a160 160 0 0 0 160-160V288h32a42.688 42.688 0 0 0 0-85.312h-184.256l-18.176-37.568a650.176 650.176 0 0 0-24.96-48.32 127.232 127.232 0 0 0-32.896-38.08zM616.96 202.688H409.92a556.16 556.16 0 0 1 19.84-41.088 39.232 39.232 0 0 1 34.048-21.888c11.392-1.024 26.176-1.024 49.664-1.024 22.912 0 37.376 0 48.384 1.024a39.296 39.296 0 0 1 33.6 21.056c5.632 9.28 11.84 21.952 21.504 41.92z m-211.648 563.712a32 32 0 0 1-32-32v-256a32 32 0 0 1 64 0v256a32 32 0 0 1-32 32z m245.376-288v256a32 32 0 1 1-64 0v-256a32 32 0 0 1 64 0z" fill="#333333" p-id="7308"></path></svg>', io = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439429384" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30246" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.1953125" height="200"><path d="M358.5 1021.5c-52.93 0-96-43.07-96-96 0-13.12 2.6-25.84 7.74-37.81l0.12-0.27-141.99-184.66-0.34 0.11a95.806 95.806 0 0 1-29.53 4.64c-52.93 0-96-43.07-96-96s43.07-96 96-96c7.56 0 15.09 0.89 22.41 2.64l0.36 0.09 213.67-370.08-0.16-0.25c-9.34-15.12-14.28-32.54-14.28-50.39 0-52.93 43.07-96 96-96 40.36 0 76.66 25.5 90.34 63.46l0.09 0.26 300.27 61.72 0.19-0.26c18.01-25.16 47.21-40.18 78.11-40.18 52.93 0 96 43.07 96 96 0 36.49-20.26 69.36-52.88 85.79l-0.31 0.16 41.76 393.5 0.25 0.12a96.184 96.184 0 0 1 39.11 34.79c9.85 15.41 15.06 33.27 15.06 51.65 0 52.93-43.07 96-96 96-31.18 0-60.53-15.24-78.52-40.76l-0.22-0.31-396.7 138.78-0.05 0.29c-8.2 45.76-47.94 78.97-94.5 78.97z m0-192c34.03 0 64.82 17.44 82.36 46.66l0.21 0.35L832.93 739.4l0.03-0.32c3.81-39.11 31.82-72.49 69.7-83.05l0.41-0.11-40.34-380.14-0.34-0.08c-39.73-9.82-68.86-43.81-72.49-84.56l-0.03-0.37-283.9-58.36-0.15 0.39c-7 17.7-19.01 32.81-34.72 43.69-16.08 11.13-34.96 17.02-54.59 17.02-9.75 0-19.37-1.46-28.59-4.33l-0.38-0.12L176.19 555.1l0.19 0.26c11.86 16.42 18.12 35.83 18.12 56.14 0 17.74-4.88 35.06-14.11 50.11l-0.18 0.29 136.28 177.25 0.37-0.18c13.04-6.28 27.05-9.47 41.64-9.47z" p-id="30247" fill="#515151"></path><path d="M416.5 2c40.15 0 76.26 25.37 89.87 63.13l0.19 0.53 0.55 0.11 299.68 61.6 0.64 0.13 0.38-0.53c8.66-12.1 20.19-22.15 33.34-29.06C854.71 90.77 870.06 87 885.5 87c52.66 0 95.5 42.84 95.5 95.5 0 18.03-5.05 35.58-14.6 50.77a95.81 95.81 0 0 1-38 34.57l-0.62 0.31 0.07 0.69 41.7 392.88 0.06 0.55 0.5 0.24c15.91 7.71 29.36 19.68 38.91 34.61 9.8 15.33 14.98 33.09 14.98 51.38 0 52.66-42.84 95.5-95.5 95.5-31.02 0-60.22-15.16-78.11-40.55l-0.43-0.62-0.71 0.25-396.09 138.59-0.55 0.19-0.1 0.57c-3.9 21.77-15.4 41.67-32.39 56.03-17.2 14.54-39.08 22.54-61.62 22.54-52.66 0-95.5-42.84-95.5-95.5 0-13.05 2.59-25.71 7.7-37.61l0.23-0.54-0.36-0.46-141.59-184.16-0.43-0.56-0.67 0.22A95.43 95.43 0 0 1 98.5 707C45.84 707 3 664.16 3 611.5S45.84 516 98.5 516c7.52 0 15.01 0.88 22.29 2.62l0.73 0.17 0.37-0.65 213.33-369.5 0.3-0.52-0.31-0.51c-9.29-15.04-14.2-32.37-14.2-50.12C321 44.84 363.84 2 416.5 2m0 191c-9.7 0-19.27-1.45-28.44-4.31l-0.76-0.24-0.4 0.69-210.98 365.43-0.32 0.56 0.38 0.52C187.77 571.99 194 591.3 194 611.5c0 17.64-4.85 34.88-14.03 49.85l-0.36 0.59 0.42 0.55 135.82 176.65 0.5 0.64 0.73-0.35c12.97-6.26 26.91-9.43 41.42-9.43 16.79 0 33.3 4.42 47.75 12.78a96.095 96.095 0 0 1 34.18 33.63l0.42 0.7 0.77-0.27 391.17-136.87 0.6-0.21 0.06-0.64c1.88-19.33 9.53-37.41 22.11-52.28 12.44-14.71 28.77-25.2 47.22-30.35l0.82-0.23-0.09-0.84-40.26-379.37-0.07-0.7-0.68-0.17c-39.52-9.77-68.5-43.58-72.11-84.12l-0.07-0.74-0.73-0.15-283.12-58.2-0.82-0.17-0.31 0.78c-6.96 17.61-18.91 32.64-34.54 43.46-15.99 11.11-34.77 16.96-54.3 16.96m0-192C363.2 1 320 44.2 320 97.5c0 18.58 5.26 35.93 14.35 50.65l-213.33 369.5A96.669 96.669 0 0 0 98.5 515C45.2 515 2 558.2 2 611.5S45.2 708 98.5 708a96.5 96.5 0 0 0 29.69-4.66l141.59 184.15c-5 11.66-7.78 24.51-7.78 38.01 0 53.3 43.2 96.5 96.5 96.5 47.46 0 86.91-34.25 94.99-79.39l396.08-138.59C867.04 828.81 895.88 845 928.5 845c53.3 0 96.5-43.2 96.5-96.5 0-38.22-22.23-71.26-54.46-86.88l-41.7-392.88C960.37 252.86 982 220.21 982 182.5c0-53.3-43.2-96.5-96.5-96.5-32.37 0-61.01 15.94-78.51 40.39l-299.68-61.6C493.91 27.59 458.31 1 416.5 1z m0 193c40.77 0 75.63-25.28 89.77-61.03l283.12 58.2c3.69 41.4 33.52 75.27 72.87 85l40.26 379.37c-37.74 10.53-66.15 43.41-70.06 83.49L441.29 875.9c-16.87-28.1-47.63-46.9-82.79-46.9-15 0-29.2 3.42-41.86 9.53L180.82 661.88c8.99-14.66 14.18-31.91 14.18-50.38 0-21.07-6.76-40.56-18.22-56.43l210.98-365.42c9.08 2.83 18.73 4.35 28.74 4.35z" p-id="30248" fill="#515151"></path></svg>', ao = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438516107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18607" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M672 925.5c-52.11 0-94.5-42.39-94.5-94.5 0-27.32 11.82-53.29 32.43-71.26l0.3-0.26-254.6-473.05-0.31 0.01c-1.1 0.04-2.21 0.06-3.32 0.06-18.73 0-36.83-5.47-52.35-15.82l-0.34-0.23-114.89 114.89 0.1 0.29c3.31 9.75 4.99 19.97 4.99 30.37 0 52.11-42.39 94.5-94.5 94.5S0.5 468.11 0.5 416s42.39-94.5 94.5-94.5c17.2 0 34.04 4.67 48.7 13.5l0.34 0.2 117.11-117.1-0.08-0.28a94.646 94.646 0 0 1-3.57-25.81c0-52.11 42.39-94.5 94.5-94.5s94.5 42.39 94.5 94.5c0 26.56-11.28 52.05-30.94 69.93l-0.29 0.26 255.29 474.32s1.19-0.02 1.44-0.02c20.26 0 39.58 6.32 55.86 18.28l0.35 0.25 112-112-0.12-0.3c-4.37-11.06-6.59-22.74-6.59-34.73 0-52.11 42.39-94.5 94.5-94.5s94.5 42.39 94.5 94.5-42.39 94.5-94.5 94.5c-15.68 0-31.21-3.92-44.91-11.33l-0.33-0.18-118.68 118.68 0.06 0.27A95.354 95.354 0 0 1 766.5 831c0 52.11-42.39 94.5-94.5 94.5z" p-id="18608" fill="#515151"></path><path d="M352 98c51.83 0 94 42.17 94 94 0 26.42-11.22 51.78-30.78 69.56l-0.58 0.53 0.37 0.69 254.96 473.71 0.29 0.53 0.61-0.01 0.42-0.01c0.24 0 0.48-0.01 0.72-0.01 20.15 0 39.37 6.29 55.57 18.18l0.69 0.51 0.61-0.61 111.46-111.46 0.46-0.46-0.24-0.61c-4.35-11-6.55-22.62-6.55-34.55 0-51.83 42.17-94 94-94s94 42.17 94 94-42.17 94-94 94c-15.59 0-31.04-3.9-44.67-11.27l-0.66-0.35-0.53 0.53-118.23 118.23-0.39 0.39 0.12 0.54a94.365 94.365 0 0 1 2.35 20.95c0 51.83-42.17 94-94 94s-94-42.17-94-94c0-27.17 11.76-53.01 32.26-70.88l0.6-0.52-0.38-0.7-254.26-472.45-0.29-0.55-0.62 0.02c-1.27 0.04-2.32 0.06-3.3 0.06-18.63 0-36.64-5.44-52.08-15.74l-0.68-0.45-0.58 0.58-114.39 114.39-0.44 0.44 0.2 0.59c3.29 9.7 4.96 19.87 4.96 30.21 0 51.83-42.17 94-94 94S1 467.83 1 416s42.17-94 94-94c17.11 0 33.86 4.65 48.45 13.43l0.67 0.4 0.55-0.55L261.3 218.66l0.42-0.41-0.16-0.56a94.028 94.028 0 0 1-3.55-25.68C258 140.17 300.17 98 352 98m0-1c-52.47 0-95 42.53-95 95 0 9 1.25 17.7 3.59 25.95L143.96 334.58C129.66 325.96 112.91 321 95 321c-52.47 0-95 42.53-95 95s42.53 95 95 95 95-42.53 95-95c0-10.68-1.76-20.95-5.01-30.53l114.38-114.38C314.44 281.14 332.53 287 352 287c1.12 0 2.23-0.03 3.34-0.06l254.27 472.43C589.63 776.78 577 802.41 577 831c0 52.47 42.53 95 95 95s95-42.53 95-95c0-7.28-0.82-14.36-2.37-21.17L882.86 691.6c13.42 7.27 28.8 11.4 45.14 11.4 52.47 0 95-42.53 95-95s-42.53-95-95-95-95 42.53-95 95c0 12.33 2.35 24.11 6.62 34.92L728.16 754.38C712.43 742.83 693.01 736 672 736c-0.38 0-0.76 0.01-1.14 0.01L415.9 262.3C435 244.92 447 219.86 447 192c0-52.47-42.53-95-95-95z" p-id="18609" fill="#515151"></path></svg>', oo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439410852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28392" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M273.9 168.3H739v37.1H273.9zM273.9 819.6H739v37.1H273.9zM165.812 740.898v-465.1h37.1v465.1zM821.11 740.896v-465.1h37.1v465.1z" fill="#515151" p-id="28393"></path><path d="M184.7 66.2c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.7-37 82.7-82.7 82.7zM184.7 717.5c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.6c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.6-37 82.7-82.7 82.7zM840 717.5c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.6c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.6-37 82.7-82.7 82.7zM840 66.2c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.7-37 82.7-82.7 82.7z" fill="#515151" p-id="28394"></path></svg>', lo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438563645" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20701" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M996.2 679L340 22.8c-12.5-12.5-32.8-12.5-45.3 0L23.2 294.3c-12.5 12.5-12.5 32.8 0 45.3l656.2 656.2c12.5 12.5 32.8 12.5 45.3 0l271.5-271.5c12.5-12.5 12.5-32.8 0-45.3zM262.6 234.9l119.2-119.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L307.9 280.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m112.9 45l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m79 79l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7z m45.7 113.6l119.2-119.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L545.5 517.8c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m152.5 90.3l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0z m39.4 33.7l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7z m85.3 158.9l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7L857 590.9c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L783.1 755.4c-1.6 1.5-4.1 1.5-5.7 0z" p-id="20702" fill="#515151"></path></svg>', so = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439485778" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35763" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M185.8 63.9c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7zM838.2 716.7c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7zM186.2 715.6c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7z" fill="#515151" p-id="35764"></path><path d="M287.2 818.1h447.6v37H287.2zM167.3 282h37v451h-37zM235.682 261.34l26.163-26.162L776.897 750.23l-26.163 26.162z" fill="#515151" p-id="35765"></path></svg>', co = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1767681773788" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6706" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M234.666667 224a10.666667 10.666667 0 0 0-10.666667 10.666667v149.333333a32 32 0 0 1-64 0v-149.333333A74.666667 74.666667 0 0 1 234.666667 160h149.333333a32 32 0 0 1 0 64h-149.333333zM597.333333 405.333333a21.333333 21.333333 0 0 1 21.333334 21.333334v170.666666a21.333333 21.333333 0 0 1-21.333334 21.333334h-170.666666a21.333333 21.333333 0 0 1-21.333334-21.333334v-170.666666a21.333333 21.333333 0 0 1 21.333334-21.333334h170.666666z m-170.666666-64a85.333333 85.333333 0 0 0-85.333334 85.333334v170.666666a85.333333 85.333333 0 0 0 85.333334 85.333334h170.666666a85.333333 85.333333 0 0 0 85.333334-85.333334v-170.666666a85.333333 85.333333 0 0 0-85.333334-85.333334h-170.666666z m-202.666667 448a10.666667 10.666667 0 0 0 10.666667 10.666667h149.333333a32 32 0 0 1 0 64h-149.333333A74.666667 74.666667 0 0 1 160 789.333333v-149.333333a32 32 0 0 1 64 0v149.333333z m565.333333 10.666667a10.666667 10.666667 0 0 0 10.666667-10.666667v-149.333333a32 32 0 0 1 64 0v149.333333a74.666667 74.666667 0 0 1-74.666667 74.666667h-149.333333a32 32 0 0 1 0-64h149.333333z m10.666667-565.333333a10.666667 10.666667 0 0 0-10.666667-10.666667h-149.333333a32 32 0 0 1 0-64h149.333333a74.666667 74.666667 0 0 1 74.666667 74.666667v149.333333a32 32 0 0 1-64 0v-149.333333z" fill="#000000" p-id="6707"></path></svg>', uo = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#86868b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
3581
- <circle cx="11" cy="11" r="7"></circle>
3582
- <line x1="16.5" y1="16.5" x2="21" y2="21"></line>
3583
- </svg>
3584
- `, fo = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
3585
- <path d="M12 21s-6-5.686-6-10a6 6 0 0 1 12 0c0 4.314-6 10-6 10z"></path>
3586
- <circle cx="12" cy="11" r="2.5"></circle>
3587
- </svg>
3588
- `, ho = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
3589
- <circle cx="12" cy="12" r="9"></circle>
3590
- <circle cx="12" cy="12" r="4.5"></circle>
3591
- <circle cx="12" cy="12" r="0.6" fill="currentColor"></circle>
3592
- </svg>
3593
- `, go = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
3594
- <path d="M4 5c4-2 5 4 8 2s4 3 8 1"></path>
3595
- <path d="M4 19c4-2 5 2 8 0s4 1 8-1"></path>
3596
- <circle cx="4" cy="5" r="1.6"></circle>
3597
- <circle cx="20" cy="8" r="1.6"></circle>
3598
- <circle cx="12" cy="19" r="1.6"></circle>
3599
- </svg>
3600
- `, po = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766264800000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8601" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><rect x="248" y="512" width="544" height="150" rx="72" fill="#272636" p-id="8602" /><circle cx="372" cy="504" r="120" fill="#272636" p-id="8603" /><circle cx="544" cy="452" r="150" fill="#272636" p-id="8604" /><circle cx="700" cy="504" r="118" fill="#272636" p-id="8605" /><path d="M366 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8606" /><path d="M492 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8607" /><path d="M618 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8608" /></svg>', cn = {
3601
- "2d": Ka,
3602
- "3d": Xa,
3603
- area: Za,
3604
- aim: ho,
3605
- azimuth: Ja,
3606
- base: Qa,
3607
- circle: eo,
3608
- clear: to,
3609
- contour: no,
3610
- delete: ro,
3611
- location: fo,
3612
- polygon: io,
3613
- polyline: ao,
3614
- rectangle: oo,
3615
- ruler: lo,
3616
- search: uo,
3617
- track: go,
3618
- triangle: so,
3619
- view: co,
3620
- weather: po
3585
+ }), Xa = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 2D 平面地图:2x2 坐标网格瓦片,表达俯视平面视角 -->\r
3586
+ <path fill="#000000" d="M4 3.5h6.7a.5.5 0 0 1 .5.5v6.7a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5zm9.3 0H20a.5.5 0 0 1 .5.5v6.7a.5.5 0 0 1-.5.5h-6.7a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5zM4 12.8h6.7a.5.5 0 0 1 .5.5V20a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5v-6.7a.5.5 0 0 1 .5-.5zm9.3 0H20a.5.5 0 0 1 .5.5V20a.5.5 0 0 1-.5.5h-6.7a.5.5 0 0 1-.5-.5v-6.7a.5.5 0 0 1 .5-.5z"/></svg>\r
3587
+ `, Za = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 3D 立体:等轴测立方体(顶面 + 左右侧面),表达三维视角 -->\r
3588
+ <path fill="#000000" d="M12 2.6 20.6 7.1 12 11.6 3.4 7.1 12 2.6z"/>\r
3589
+ <path fill="#000000" d="M3.4 7.1v9.6L12 21.4v-9.8L3.4 7.1z"/>\r
3590
+ <path fill="#000000" d="M20.6 7.1v9.6L12 21.4v-9.8l8.6-4.5z"/></svg>\r
3591
+ `, Ja = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438544903" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19690" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M921.6 905.6H64V118.4h300.8v-64H0v915.2h985.6v-288h-64v224z m-640-467.2v-44.8h-64v364.8h64v-156.8c0-48 0-83.2 9.6-102.4 9.6-19.2 25.6-35.2 38.4-48 19.2-9.6 38.4-12.8 57.6-12.8 19.2 0 35.2 3.2 48 12.8s19.2 25.6 25.6 38.4c3.2 12.8 3.2 41.6 3.2 83.2v188.8h57.6v-144c0-48 3.2-83.2 9.6-102.4 3.2-25.6 19.2-38.4 38.4-54.4 19.2-12.8 38.4-19.2 57.6-19.2 19.2 0 38.4 3.2 48 12.8 12.8 9.6 19.2 25.6 25.6 38.4 3.2 19.2 3.2 41.6 3.2 76.8v201.6h64v-201.6c0-67.2-12.8-115.2-38.4-140.8-25.6-25.6-54.4-38.4-86.4-38.4s-57.6 9.6-83.2 25.6-38.4 32-48 51.2c-3.2-19.2-19.2-35.2-38.4-48-25.6-12.8-48-25.6-76.8-25.6-57.6 0-92.8 6.4-115.2 44.8z m739.2-51.2v51.2h-214.4v-35.2c22.4-41.6 57.6-80 102.4-112 44.8-32 60.8-60.8 60.8-86.4 0-32-16-44.8-51.2-44.8-28.8 0-44.8 19.2-54.4 54.4L809.6 192c19.2-51.2 57.6-80 112-80 64 3.2 96 32 102.4 89.6 6.4 41.6-22.4 80-80 115.2-35.2 25.6-54.4 48-70.4 67.2 0 3.2 147.2 3.2 147.2 3.2z" p-id="19691" fill="#515151"></path></svg>', Qa = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438589408" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24787" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M456 697.6c17.6-11.2 33.6-20.8 52.8-32l-38.4-52.8c-17.6 14.4-32 25.6-48 38.4 11.2 16 22.4 30.4 33.6 46.4z" fill="#515151" p-id="24788"></path><path d="M73.6 940.8C54.4 934.4 43.2 915.2 48 896L300.8 76.8c6.4-17.6 25.6-28.8 43.2-24 17.6 6.4 28.8 25.6 24 43.2L116.8 915.2c-4.8 20.8-24 32-43.2 25.6z" fill="#515151" p-id="24789"></path><path d="M48 908.8c0-19.2 16-36.8 35.2-36.8h856c19.2 0 35.2 16 35.2 35.2 0 19.2-16 35.2-35.2 35.2H83.2C64 944 48 928 48 908.8z" fill="#515151" p-id="24790"></path><path d="M292.8 550.4c-25.6-16-51.2-30.4-78.4-41.6l28.8-65.6c32 12.8 62.4 28.8 89.6 48l-40 59.2zM470.4 747.2c-30.4-60.8-72-113.6-123.2-156.8l46.4-54.4c59.2 49.6 105.6 110.4 140.8 179.2l-64 32zM518.4 896c-4.8-28.8-11.2-59.2-22.4-86.4l68.8-24c11.2 32 19.2 65.6 25.6 99.2l-72 11.2z" fill="#515151" p-id="24791"></path><path d="M688 456c40 0 72 32 72 72s-32 72-72 72-72-32-72-72 32-72 72-72m0-72c-80 0-144 64-144 144s64 144 144 144 144-64 144-144-64-144-144-144z" fill="#515151" p-id="24792"></path></svg>', eo = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><!-- 底图图层:三层堆叠图例,表达地图图层切换 -->\r
3592
+ <path fill="#000000" d="M12 14.5 2.8 9.7 12 4.9l9.2 4.8L12 14.5z"/>\r
3593
+ <path fill="#000000" d="M2.8 11.2 12 16l9.2-4.8-1.6-.9L12 14.2 4.4 10.3l-1.6.9z"/>\r
3594
+ <path fill="#000000" d="M2.8 14.7 12 19.5l9.2-4.8-1.6-.9L12 17.7 4.4 13.8l-1.6.9z"/></svg>\r
3595
+ `, to = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439464662" class="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33927" xmlns:xlink="http://www.w3.org/1999/xlink" width="225" height="200"><path d="M1056.810667 606.890667c-45.781333 172.373333-204.544 305.237333-402.176 334.592v59.264h-165.418667v-59.264c-197.632-29.354667-356.394667-162.261333-402.133333-334.592H16.554667v-165.418667h62.08c30.592-191.274667 198.101333-342.4 410.538666-374.016V8.277333h165.418667v59.221334c212.437333 31.573333 379.946667 182.741333 410.538667 374.016h62.08v165.418666h-70.442667v-0.042666z m-61.568 0h-33.450667v-165.418667h43.349333c-29.866667-158.037333-170.410667-284.202667-350.549333-314.24v46.464h-165.418667V127.146667c-180.053333 30.037333-320.554667 156.202667-350.506666 314.24h43.349333v165.418666h-33.408c44.074667 139.264 175.786667 247.338667 340.565333 274.773334v-46.293334h165.418667v46.378667c164.864-27.434667 296.576-135.509333 340.650667-274.816zM528.64 134.272h86.613333V47.616h-86.613333v86.613333z m0 827.050667h86.613333v-86.613334h-86.613333v86.613334z m-472.618667-393.813334h86.613334V480.853333h-86.613334v86.613334z m945.194667 0h86.656V480.853333h-86.613333v86.613334z" p-id="33928" fill="#515151"></path></svg>', no = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766223878706" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7643" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M921.6 512 880.64 512 972.8 972.8C972.8 1001.088 949.888 1024 921.6 1024L102.4 1024C74.112 1024 51.2 1001.088 51.2 972.8L143.36 512 102.4 512C74.112 512 51.2 489.088 51.2 460.8L51.2 409.6C51.2 381.312 74.112 358.4 102.4 358.4L409.6 358.4 409.6 102.4C409.6 45.8496 455.4496 0 512 0 568.5504 0 614.4 45.8496 614.4 102.4L614.4 358.4 921.6 358.4C949.888 358.4 972.8 381.312 972.8 409.6L972.8 460.8C972.8 489.088 949.888 512 921.6 512ZM102.4 972.8 257.6384 972.8C254.1056 967.5008 252.4416 960.9472 253.6192 954.1888L284.7488 726.5024C287.2064 712.6016 300.4672 703.2832 314.3936 705.7408 328.32 708.1984 337.6128 721.4848 335.1808 735.4112L304.0512 963.072C303.4112 966.6816 302.0032 969.9328 300.1088 972.8L921.6 972.8 819.2 512 204.8 512 102.4 972.8ZM563.2 102.4C563.2 74.112 540.288 51.2 512 51.2 483.712 51.2 460.8 74.112 460.8 102.4L460.8 358.4 563.2 358.4 563.2 102.4ZM921.6 409.6 102.4 409.6 102.4 460.8 921.6 460.8 921.6 409.6Z" fill="#272636" p-id="7644"></path></svg>', ro = `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><g fill="none" stroke="#515151" stroke-width="72" stroke-linecap="round" stroke-linejoin="round"><path d="M180 292c56-72 128 88 186 14s128 88 186 14 128 88 186 14"/><path d="M104 500c74-96 148 132 222 36s148 132 222 36 148 132 222 36 148 132 222 36"/><path d="M40 720c112-128 224 176 336 48s224 176 336 48 224 176 336 48"/></g></svg>\r
3596
+ `, io = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766223494940" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7307" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M635.712 78.72A127.808 127.808 0 0 0 569.472 54.72a633.792 633.792 0 0 0-52.224-1.408h-10.56a542.08 542.08 0 0 0-50.56 1.408 127.744 127.744 0 0 0-67.52 25.024 127.232 127.232 0 0 0-32.896 39.552c-7.808 13.696-15.552 30.72-24.32 50.048l-15.232 33.28H128A42.688 42.688 0 1 0 128 288h32V832A160 160 0 0 0 320 992h384a160 160 0 0 0 160-160V288h32a42.688 42.688 0 0 0 0-85.312h-184.256l-18.176-37.568a650.176 650.176 0 0 0-24.96-48.32 127.232 127.232 0 0 0-32.896-38.08zM616.96 202.688H409.92a556.16 556.16 0 0 1 19.84-41.088 39.232 39.232 0 0 1 34.048-21.888c11.392-1.024 26.176-1.024 49.664-1.024 22.912 0 37.376 0 48.384 1.024a39.296 39.296 0 0 1 33.6 21.056c5.632 9.28 11.84 21.952 21.504 41.92z m-211.648 563.712a32 32 0 0 1-32-32v-256a32 32 0 0 1 64 0v256a32 32 0 0 1-32 32z m245.376-288v256a32 32 0 1 1-64 0v-256a32 32 0 0 1 64 0z" fill="#333333" p-id="7308"></path></svg>', ao = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439429384" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="30246" xmlns:xlink="http://www.w3.org/1999/xlink" width="200.1953125" height="200"><path d="M358.5 1021.5c-52.93 0-96-43.07-96-96 0-13.12 2.6-25.84 7.74-37.81l0.12-0.27-141.99-184.66-0.34 0.11a95.806 95.806 0 0 1-29.53 4.64c-52.93 0-96-43.07-96-96s43.07-96 96-96c7.56 0 15.09 0.89 22.41 2.64l0.36 0.09 213.67-370.08-0.16-0.25c-9.34-15.12-14.28-32.54-14.28-50.39 0-52.93 43.07-96 96-96 40.36 0 76.66 25.5 90.34 63.46l0.09 0.26 300.27 61.72 0.19-0.26c18.01-25.16 47.21-40.18 78.11-40.18 52.93 0 96 43.07 96 96 0 36.49-20.26 69.36-52.88 85.79l-0.31 0.16 41.76 393.5 0.25 0.12a96.184 96.184 0 0 1 39.11 34.79c9.85 15.41 15.06 33.27 15.06 51.65 0 52.93-43.07 96-96 96-31.18 0-60.53-15.24-78.52-40.76l-0.22-0.31-396.7 138.78-0.05 0.29c-8.2 45.76-47.94 78.97-94.5 78.97z m0-192c34.03 0 64.82 17.44 82.36 46.66l0.21 0.35L832.93 739.4l0.03-0.32c3.81-39.11 31.82-72.49 69.7-83.05l0.41-0.11-40.34-380.14-0.34-0.08c-39.73-9.82-68.86-43.81-72.49-84.56l-0.03-0.37-283.9-58.36-0.15 0.39c-7 17.7-19.01 32.81-34.72 43.69-16.08 11.13-34.96 17.02-54.59 17.02-9.75 0-19.37-1.46-28.59-4.33l-0.38-0.12L176.19 555.1l0.19 0.26c11.86 16.42 18.12 35.83 18.12 56.14 0 17.74-4.88 35.06-14.11 50.11l-0.18 0.29 136.28 177.25 0.37-0.18c13.04-6.28 27.05-9.47 41.64-9.47z" p-id="30247" fill="#515151"></path><path d="M416.5 2c40.15 0 76.26 25.37 89.87 63.13l0.19 0.53 0.55 0.11 299.68 61.6 0.64 0.13 0.38-0.53c8.66-12.1 20.19-22.15 33.34-29.06C854.71 90.77 870.06 87 885.5 87c52.66 0 95.5 42.84 95.5 95.5 0 18.03-5.05 35.58-14.6 50.77a95.81 95.81 0 0 1-38 34.57l-0.62 0.31 0.07 0.69 41.7 392.88 0.06 0.55 0.5 0.24c15.91 7.71 29.36 19.68 38.91 34.61 9.8 15.33 14.98 33.09 14.98 51.38 0 52.66-42.84 95.5-95.5 95.5-31.02 0-60.22-15.16-78.11-40.55l-0.43-0.62-0.71 0.25-396.09 138.59-0.55 0.19-0.1 0.57c-3.9 21.77-15.4 41.67-32.39 56.03-17.2 14.54-39.08 22.54-61.62 22.54-52.66 0-95.5-42.84-95.5-95.5 0-13.05 2.59-25.71 7.7-37.61l0.23-0.54-0.36-0.46-141.59-184.16-0.43-0.56-0.67 0.22A95.43 95.43 0 0 1 98.5 707C45.84 707 3 664.16 3 611.5S45.84 516 98.5 516c7.52 0 15.01 0.88 22.29 2.62l0.73 0.17 0.37-0.65 213.33-369.5 0.3-0.52-0.31-0.51c-9.29-15.04-14.2-32.37-14.2-50.12C321 44.84 363.84 2 416.5 2m0 191c-9.7 0-19.27-1.45-28.44-4.31l-0.76-0.24-0.4 0.69-210.98 365.43-0.32 0.56 0.38 0.52C187.77 571.99 194 591.3 194 611.5c0 17.64-4.85 34.88-14.03 49.85l-0.36 0.59 0.42 0.55 135.82 176.65 0.5 0.64 0.73-0.35c12.97-6.26 26.91-9.43 41.42-9.43 16.79 0 33.3 4.42 47.75 12.78a96.095 96.095 0 0 1 34.18 33.63l0.42 0.7 0.77-0.27 391.17-136.87 0.6-0.21 0.06-0.64c1.88-19.33 9.53-37.41 22.11-52.28 12.44-14.71 28.77-25.2 47.22-30.35l0.82-0.23-0.09-0.84-40.26-379.37-0.07-0.7-0.68-0.17c-39.52-9.77-68.5-43.58-72.11-84.12l-0.07-0.74-0.73-0.15-283.12-58.2-0.82-0.17-0.31 0.78c-6.96 17.61-18.91 32.64-34.54 43.46-15.99 11.11-34.77 16.96-54.3 16.96m0-192C363.2 1 320 44.2 320 97.5c0 18.58 5.26 35.93 14.35 50.65l-213.33 369.5A96.669 96.669 0 0 0 98.5 515C45.2 515 2 558.2 2 611.5S45.2 708 98.5 708a96.5 96.5 0 0 0 29.69-4.66l141.59 184.15c-5 11.66-7.78 24.51-7.78 38.01 0 53.3 43.2 96.5 96.5 96.5 47.46 0 86.91-34.25 94.99-79.39l396.08-138.59C867.04 828.81 895.88 845 928.5 845c53.3 0 96.5-43.2 96.5-96.5 0-38.22-22.23-71.26-54.46-86.88l-41.7-392.88C960.37 252.86 982 220.21 982 182.5c0-53.3-43.2-96.5-96.5-96.5-32.37 0-61.01 15.94-78.51 40.39l-299.68-61.6C493.91 27.59 458.31 1 416.5 1z m0 193c40.77 0 75.63-25.28 89.77-61.03l283.12 58.2c3.69 41.4 33.52 75.27 72.87 85l40.26 379.37c-37.74 10.53-66.15 43.41-70.06 83.49L441.29 875.9c-16.87-28.1-47.63-46.9-82.79-46.9-15 0-29.2 3.42-41.86 9.53L180.82 661.88c8.99-14.66 14.18-31.91 14.18-50.38 0-21.07-6.76-40.56-18.22-56.43l210.98-365.42c9.08 2.83 18.73 4.35 28.74 4.35z" p-id="30248" fill="#515151"></path></svg>', oo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438516107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18607" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M672 925.5c-52.11 0-94.5-42.39-94.5-94.5 0-27.32 11.82-53.29 32.43-71.26l0.3-0.26-254.6-473.05-0.31 0.01c-1.1 0.04-2.21 0.06-3.32 0.06-18.73 0-36.83-5.47-52.35-15.82l-0.34-0.23-114.89 114.89 0.1 0.29c3.31 9.75 4.99 19.97 4.99 30.37 0 52.11-42.39 94.5-94.5 94.5S0.5 468.11 0.5 416s42.39-94.5 94.5-94.5c17.2 0 34.04 4.67 48.7 13.5l0.34 0.2 117.11-117.1-0.08-0.28a94.646 94.646 0 0 1-3.57-25.81c0-52.11 42.39-94.5 94.5-94.5s94.5 42.39 94.5 94.5c0 26.56-11.28 52.05-30.94 69.93l-0.29 0.26 255.29 474.32s1.19-0.02 1.44-0.02c20.26 0 39.58 6.32 55.86 18.28l0.35 0.25 112-112-0.12-0.3c-4.37-11.06-6.59-22.74-6.59-34.73 0-52.11 42.39-94.5 94.5-94.5s94.5 42.39 94.5 94.5-42.39 94.5-94.5 94.5c-15.68 0-31.21-3.92-44.91-11.33l-0.33-0.18-118.68 118.68 0.06 0.27A95.354 95.354 0 0 1 766.5 831c0 52.11-42.39 94.5-94.5 94.5z" p-id="18608" fill="#515151"></path><path d="M352 98c51.83 0 94 42.17 94 94 0 26.42-11.22 51.78-30.78 69.56l-0.58 0.53 0.37 0.69 254.96 473.71 0.29 0.53 0.61-0.01 0.42-0.01c0.24 0 0.48-0.01 0.72-0.01 20.15 0 39.37 6.29 55.57 18.18l0.69 0.51 0.61-0.61 111.46-111.46 0.46-0.46-0.24-0.61c-4.35-11-6.55-22.62-6.55-34.55 0-51.83 42.17-94 94-94s94 42.17 94 94-42.17 94-94 94c-15.59 0-31.04-3.9-44.67-11.27l-0.66-0.35-0.53 0.53-118.23 118.23-0.39 0.39 0.12 0.54a94.365 94.365 0 0 1 2.35 20.95c0 51.83-42.17 94-94 94s-94-42.17-94-94c0-27.17 11.76-53.01 32.26-70.88l0.6-0.52-0.38-0.7-254.26-472.45-0.29-0.55-0.62 0.02c-1.27 0.04-2.32 0.06-3.3 0.06-18.63 0-36.64-5.44-52.08-15.74l-0.68-0.45-0.58 0.58-114.39 114.39-0.44 0.44 0.2 0.59c3.29 9.7 4.96 19.87 4.96 30.21 0 51.83-42.17 94-94 94S1 467.83 1 416s42.17-94 94-94c17.11 0 33.86 4.65 48.45 13.43l0.67 0.4 0.55-0.55L261.3 218.66l0.42-0.41-0.16-0.56a94.028 94.028 0 0 1-3.55-25.68C258 140.17 300.17 98 352 98m0-1c-52.47 0-95 42.53-95 95 0 9 1.25 17.7 3.59 25.95L143.96 334.58C129.66 325.96 112.91 321 95 321c-52.47 0-95 42.53-95 95s42.53 95 95 95 95-42.53 95-95c0-10.68-1.76-20.95-5.01-30.53l114.38-114.38C314.44 281.14 332.53 287 352 287c1.12 0 2.23-0.03 3.34-0.06l254.27 472.43C589.63 776.78 577 802.41 577 831c0 52.47 42.53 95 95 95s95-42.53 95-95c0-7.28-0.82-14.36-2.37-21.17L882.86 691.6c13.42 7.27 28.8 11.4 45.14 11.4 52.47 0 95-42.53 95-95s-42.53-95-95-95-95 42.53-95 95c0 12.33 2.35 24.11 6.62 34.92L728.16 754.38C712.43 742.83 693.01 736 672 736c-0.38 0-0.76 0.01-1.14 0.01L415.9 262.3C435 244.92 447 219.86 447 192c0-52.47-42.53-95-95-95z" p-id="18609" fill="#515151"></path></svg>', lo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439410852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28392" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M273.9 168.3H739v37.1H273.9zM273.9 819.6H739v37.1H273.9zM165.812 740.898v-465.1h37.1v465.1zM821.11 740.896v-465.1h37.1v465.1z" fill="#515151" p-id="28393"></path><path d="M184.7 66.2c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.7-37 82.7-82.7 82.7zM184.7 717.5c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.6c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.6-37 82.7-82.7 82.7zM840 717.5c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.6c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.6-37 82.7-82.7 82.7zM840 66.2c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.1-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7c0.1 45.7-37 82.7-82.7 82.7z" fill="#515151" p-id="28394"></path></svg>', so = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755438563645" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20701" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M996.2 679L340 22.8c-12.5-12.5-32.8-12.5-45.3 0L23.2 294.3c-12.5 12.5-12.5 32.8 0 45.3l656.2 656.2c12.5 12.5 32.8 12.5 45.3 0l271.5-271.5c12.5-12.5 12.5-32.8 0-45.3zM262.6 234.9l119.2-119.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L307.9 280.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m112.9 45l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m79 79l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7z m45.7 113.6l119.2-119.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L545.5 517.8c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.5-1.6-1.5-4.1 0-5.7z m152.5 90.3l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0z m39.4 33.7l85.2-85.2c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7l-85.2 85.2c-1.6 1.6-4.1 1.6-5.7 0l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7z m85.3 158.9l-39.6-39.6c-1.6-1.6-1.6-4.1 0-5.7L857 590.9c1.6-1.6 4.1-1.6 5.7 0l39.6 39.6c1.6 1.6 1.6 4.1 0 5.7L783.1 755.4c-1.6 1.5-4.1 1.5-5.7 0z" p-id="20702" fill="#515151"></path></svg>', co = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755439485778" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="35763" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M185.8 63.9c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7zM838.2 716.7c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7zM186.2 715.6c-66.8 0-121 54.2-121 121s54.2 121 121 121 121-54.2 121-121-54.2-121-121-121z m-0.1 203.5c-45.7 0-82.7-37-82.7-82.7s37-82.7 82.7-82.7 82.7 37 82.7 82.7-37 82.7-82.7 82.7z" fill="#515151" p-id="35764"></path><path d="M287.2 818.1h447.6v37H287.2zM167.3 282h37v451h-37zM235.682 261.34l26.163-26.162L776.897 750.23l-26.163 26.162z" fill="#515151" p-id="35765"></path></svg>', uo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1767681773788" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6706" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M234.666667 224a10.666667 10.666667 0 0 0-10.666667 10.666667v149.333333a32 32 0 0 1-64 0v-149.333333A74.666667 74.666667 0 0 1 234.666667 160h149.333333a32 32 0 0 1 0 64h-149.333333zM597.333333 405.333333a21.333333 21.333333 0 0 1 21.333334 21.333334v170.666666a21.333333 21.333333 0 0 1-21.333334 21.333334h-170.666666a21.333333 21.333333 0 0 1-21.333334-21.333334v-170.666666a21.333333 21.333333 0 0 1 21.333334-21.333334h170.666666z m-170.666666-64a85.333333 85.333333 0 0 0-85.333334 85.333334v170.666666a85.333333 85.333333 0 0 0 85.333334 85.333334h170.666666a85.333333 85.333333 0 0 0 85.333334-85.333334v-170.666666a85.333333 85.333333 0 0 0-85.333334-85.333334h-170.666666z m-202.666667 448a10.666667 10.666667 0 0 0 10.666667 10.666667h149.333333a32 32 0 0 1 0 64h-149.333333A74.666667 74.666667 0 0 1 160 789.333333v-149.333333a32 32 0 0 1 64 0v149.333333z m565.333333 10.666667a10.666667 10.666667 0 0 0 10.666667-10.666667v-149.333333a32 32 0 0 1 64 0v149.333333a74.666667 74.666667 0 0 1-74.666667 74.666667h-149.333333a32 32 0 0 1 0-64h149.333333z m10.666667-565.333333a10.666667 10.666667 0 0 0-10.666667-10.666667h-149.333333a32 32 0 0 1 0-64h149.333333a74.666667 74.666667 0 0 1 74.666667 74.666667v149.333333a32 32 0 0 1-64 0v-149.333333z" fill="#000000" p-id="6707"></path></svg>', fo = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#86868b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r
3597
+ <circle cx="11" cy="11" r="7"></circle>\r
3598
+ <line x1="16.5" y1="16.5" x2="21" y2="21"></line>\r
3599
+ </svg>\r
3600
+ `, ho = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r
3601
+ <path d="M12 21s-6-5.686-6-10a6 6 0 0 1 12 0c0 4.314-6 10-6 10z"></path>\r
3602
+ <circle cx="12" cy="11" r="2.5"></circle>\r
3603
+ </svg>\r
3604
+ `, go = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r
3605
+ <circle cx="12" cy="12" r="9"></circle>\r
3606
+ <circle cx="12" cy="12" r="4.5"></circle>\r
3607
+ <circle cx="12" cy="12" r="0.6" fill="currentColor"></circle>\r
3608
+ </svg>\r
3609
+ `, po = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\r
3610
+ <path d="M4 5c4-2 5 4 8 2s4 3 8 1"></path>\r
3611
+ <path d="M4 19c4-2 5 2 8 0s4 1 8-1"></path>\r
3612
+ <circle cx="4" cy="5" r="1.6"></circle>\r
3613
+ <circle cx="20" cy="8" r="1.6"></circle>\r
3614
+ <circle cx="12" cy="19" r="1.6"></circle>\r
3615
+ </svg>\r
3616
+ `, mo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1766264800000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8601" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><rect x="248" y="512" width="544" height="150" rx="72" fill="#272636" p-id="8602" /><circle cx="372" cy="504" r="120" fill="#272636" p-id="8603" /><circle cx="544" cy="452" r="150" fill="#272636" p-id="8604" /><circle cx="700" cy="504" r="118" fill="#272636" p-id="8605" /><path d="M366 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8606" /><path d="M492 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8607" /><path d="M618 716l-26 82h40l26-82h-40z" fill="#272636" p-id="8608" /></svg>', un = {
3617
+ "2d": Xa,
3618
+ "3d": Za,
3619
+ area: Ja,
3620
+ aim: go,
3621
+ azimuth: Qa,
3622
+ base: eo,
3623
+ circle: to,
3624
+ clear: no,
3625
+ contour: ro,
3626
+ delete: io,
3627
+ location: ho,
3628
+ polygon: ao,
3629
+ polyline: oo,
3630
+ rectangle: lo,
3631
+ ruler: so,
3632
+ search: fo,
3633
+ track: po,
3634
+ triangle: co,
3635
+ view: uo,
3636
+ weather: mo
3621
3637
  };
3622
- function mo(e) {
3623
- return Object.prototype.hasOwnProperty.call(cn, e);
3638
+ function vo(e) {
3639
+ return Object.prototype.hasOwnProperty.call(un, e);
3624
3640
  }
3625
- function vo(e, t) {
3641
+ function wo(e, t) {
3626
3642
  return e.replace(/#[0-9a-fA-F]{6}/g, t).replace(/#[0-9a-fA-F]{3}/g, t).replace(/fill="(?!none")[^"]*"/g, `fill="${t}"`).replace(/stroke="(?!none")[^"]*"/g, `stroke="${t}"`);
3627
3643
  }
3628
- function wo(e, t) {
3629
- const n = cn[e];
3630
- return vo(n, t || "currentColor");
3644
+ function yo(e, t) {
3645
+ const n = un[e];
3646
+ return wo(n, t || "currentColor");
3631
3647
  }
3632
3648
  const j = /* @__PURE__ */ U({
3633
3649
  name: "AppIcon",
@@ -3647,7 +3663,7 @@ const j = /* @__PURE__ */ U({
3647
3663
  }
3648
3664
  },
3649
3665
  setup(e) {
3650
- const t = R(() => mo(e.name) ? wo(e.name, e.color || void 0) : ""), n = R(() => ({
3666
+ const t = R(() => vo(e.name) ? yo(e.name, e.color || void 0) : ""), n = R(() => ({
3651
3667
  width: `${e.size}px`,
3652
3668
  height: `${e.size}px`,
3653
3669
  ...e.color ? {
@@ -3663,7 +3679,7 @@ const j = /* @__PURE__ */ U({
3663
3679
  innerHTML: t.value
3664
3680
  }, null)]);
3665
3681
  }
3666
- }), yo = /* @__PURE__ */ U({
3682
+ }), Co = /* @__PURE__ */ U({
3667
3683
  name: "MapError",
3668
3684
  props: {
3669
3685
  visible: {
@@ -3707,7 +3723,7 @@ const j = /* @__PURE__ */ U({
3707
3723
  class: "map-error__hint"
3708
3724
  }, [L("若持续失败,请刷新页面")])])])]) : null;
3709
3725
  }
3710
- }), Co = /* @__PURE__ */ U({
3726
+ }), bo = /* @__PURE__ */ U({
3711
3727
  name: "AppInput",
3712
3728
  inheritAttrs: !1,
3713
3729
  props: {
@@ -3745,7 +3761,7 @@ const j = /* @__PURE__ */ U({
3745
3761
  emit: t,
3746
3762
  attrs: n
3747
3763
  }) {
3748
- const r = xn(), i = R({
3764
+ const r = An(), i = R({
3749
3765
  get: () => e.modelValue,
3750
3766
  set: (u) => t("update:modelValue", u)
3751
3767
  }), a = R(() => e.clearable && !e.disabled && e.modelValue.length > 0), o = (u) => {
@@ -3796,7 +3812,7 @@ const j = /* @__PURE__ */ U({
3796
3812
  }, null)])]) : null]);
3797
3813
  };
3798
3814
  }
3799
- }), un = /* @__PURE__ */ U({
3815
+ }), dn = /* @__PURE__ */ U({
3800
3816
  name: "AppSpinner",
3801
3817
  props: {
3802
3818
  size: {
@@ -3823,7 +3839,7 @@ const j = /* @__PURE__ */ U({
3823
3839
  class: "app-spinner__circle"
3824
3840
  }, null)]);
3825
3841
  }
3826
- }), bo = /* @__PURE__ */ U({
3842
+ }), Eo = /* @__PURE__ */ U({
3827
3843
  name: "SearchResultsPanel",
3828
3844
  props: {
3829
3845
  list: {
@@ -3922,16 +3938,16 @@ const j = /* @__PURE__ */ U({
3922
3938
  }, [L("清空重试")]) : null])]);
3923
3939
  }
3924
3940
  });
3925
- function Eo(e) {
3941
+ function So(e) {
3926
3942
  return {
3927
3943
  position: "fixed",
3928
- top: `${e.bottom + Yn}px`,
3944
+ top: `${e.bottom + qn}px`,
3929
3945
  left: `${e.left}px`,
3930
3946
  width: `${e.width}px`,
3931
- zIndex: qn
3947
+ zIndex: Kn
3932
3948
  };
3933
3949
  }
3934
- const So = /* @__PURE__ */ U({
3950
+ const Do = /* @__PURE__ */ U({
3935
3951
  name: "MapTools",
3936
3952
  inheritAttrs: !1,
3937
3953
  props: {
@@ -3982,7 +3998,7 @@ const So = /* @__PURE__ */ U({
3982
3998
  r.value = y;
3983
3999
  });
3984
4000
  const c = () => {
3985
- i.value && (o.value = Eo(i.value.getBoundingClientRect()));
4001
+ i.value && (o.value = So(i.value.getBoundingClientRect()));
3986
4002
  }, u = (y) => {
3987
4003
  r.value = y, t("search-input", y);
3988
4004
  }, s = () => {
@@ -4012,7 +4028,7 @@ const So = /* @__PURE__ */ U({
4012
4028
  e.showResults && c();
4013
4029
  }), Ft(() => {
4014
4030
  window.addEventListener("scroll", c, !0), window.addEventListener("resize", c), document.addEventListener("mousedown", g);
4015
- }), $(() => {
4031
+ }), G(() => {
4016
4032
  window.removeEventListener("scroll", c, !0), window.removeEventListener("resize", c), document.removeEventListener("mousedown", g);
4017
4033
  });
4018
4034
  const C = R(() => e.showResults && e.filteredList.length > 0), w = R(() => e.showResults && r.value !== "" && e.filteredList.length === 0 && !e.isSearching && !e.searchError), p = R(() => e.showResults && r.value !== "" && e.filteredList.length === 0 && !e.isSearching && e.searchError);
@@ -4024,7 +4040,7 @@ const So = /* @__PURE__ */ U({
4024
4040
  }, [f("div", {
4025
4041
  class: "search-container",
4026
4042
  ref: i
4027
- }, [f(Co, {
4043
+ }, [f(bo, {
4028
4044
  class: "search-input",
4029
4045
  modelValue: r.value,
4030
4046
  placeholder: "请输入桩号进行搜索...",
@@ -4036,15 +4052,15 @@ const So = /* @__PURE__ */ U({
4036
4052
  onFocus: d,
4037
4053
  onKeydown: h
4038
4054
  }, {
4039
- suffix: () => e.isSearching ? f(un, {
4055
+ suffix: () => e.isSearching ? f(dn, {
4040
4056
  size: 14
4041
4057
  }, null) : r.value && !e.searchError ? f("div", {
4042
4058
  class: "results-count"
4043
4059
  }, [e.filteredList.length, L("个结果")]) : null
4044
- })])]) : null, f(An, {
4060
+ })])]) : null, f(Ln, {
4045
4061
  to: "body"
4046
4062
  }, {
4047
- default: () => [C.value ? f(bo, {
4063
+ default: () => [C.value ? f(Eo, {
4048
4064
  class: "teleported",
4049
4065
  "data-theme": e.theme,
4050
4066
  style: o.value,
@@ -4070,7 +4086,7 @@ const So = /* @__PURE__ */ U({
4070
4086
  class: "utils-right"
4071
4087
  }, [n["utils-right"] ? n["utils-right"]() : null])]);
4072
4088
  }
4073
- }), Do = /* @__PURE__ */ U({
4089
+ }), To = /* @__PURE__ */ U({
4074
4090
  name: "MapControls",
4075
4091
  inheritAttrs: !1,
4076
4092
  props: {
@@ -4116,7 +4132,7 @@ const So = /* @__PURE__ */ U({
4116
4132
  }, i = (o) => {
4117
4133
  n.value && e.currentDrawType !== o || t("start-drawing", o);
4118
4134
  }, a = (o) => {
4119
- const l = Pn(o);
4135
+ const l = Bn(o);
4120
4136
  return l ? l.icon : o;
4121
4137
  };
4122
4138
  return () => f("div", {
@@ -4224,20 +4240,20 @@ const So = /* @__PURE__ */ U({
4224
4240
  size: o.size
4225
4241
  }, null)]))]);
4226
4242
  }
4227
- }), To = 500, It = 1e3, Mo = {
4243
+ }), Mo = 500, It = 1e3, Io = {
4228
4244
  bigemap: "生产地图",
4229
4245
  geoserver: "物探地图"
4230
4246
  };
4231
4247
  function ke(e) {
4232
4248
  return e && typeof e.value == "object" ? e.value : e;
4233
4249
  }
4234
- function Io(e) {
4250
+ function xo(e) {
4235
4251
  return e >= 1e3 ? `${(e / 1e3).toFixed(2)} km` : `${Math.round(e)} m`;
4236
4252
  }
4237
4253
  function xt(e) {
4238
4254
  return e >= 1024 * 1024 * 1024 ? `${(e / 1024 / 1024 / 1024).toFixed(2)} GB` : `${(e / 1024 / 1024).toFixed(1)} MB`;
4239
4255
  }
4240
- const xo = /* @__PURE__ */ U({
4256
+ const Ao = /* @__PURE__ */ U({
4241
4257
  name: "MapStatus",
4242
4258
  inheritAttrs: !1,
4243
4259
  props: {
@@ -4265,7 +4281,7 @@ const xo = /* @__PURE__ */ U({
4265
4281
  const M = () => {
4266
4282
  d += 1;
4267
4283
  const I = performance.now();
4268
- I - h >= To && (n.value = Math.round(d * 1e3 / (I - h)), d = 0, h = I), s = requestAnimationFrame(M);
4284
+ I - h >= Mo && (n.value = Math.round(d * 1e3 / (I - h)), d = 0, h = I), s = requestAnimationFrame(M);
4269
4285
  };
4270
4286
  s = requestAnimationFrame(M);
4271
4287
  }, v = () => {
@@ -4288,7 +4304,7 @@ const xo = /* @__PURE__ */ U({
4288
4304
  if (!!(I.SceneMode && M.scene.mode === I.SceneMode.SCENE2D)) {
4289
4305
  i.value = {
4290
4306
  text: "2D 视图",
4291
- detail: Mo[e.mapBase] || e.mapBase
4307
+ detail: Io[e.mapBase] || e.mapBase
4292
4308
  };
4293
4309
  return;
4294
4310
  }
@@ -4296,7 +4312,7 @@ const xo = /* @__PURE__ */ U({
4296
4312
  const _ = I.Cartographic.fromCartesian(M.camera.position);
4297
4313
  i.value = {
4298
4314
  text: "3D 视图",
4299
- detail: `视距 ${Io(_.height)}`
4315
+ detail: `视距 ${xo(_.height)}`
4300
4316
  };
4301
4317
  } catch {
4302
4318
  i.value = {
@@ -4327,7 +4343,7 @@ const xo = /* @__PURE__ */ U({
4327
4343
  };
4328
4344
  Ft(() => {
4329
4345
  y(), v(), b(), S(), g.push(window.setInterval(v, It)), g.push(window.setInterval(b, It)), ke(e.map)?.scene.canvas.addEventListener("mousemove", B), typeof ResizeObserver < "u" && (C = new ResizeObserver(S), c.value && C.observe(c.value), l.value && C.observe(l.value));
4330
- }), $(() => {
4346
+ }), G(() => {
4331
4347
  cancelAnimationFrame(s), p !== 0 && cancelAnimationFrame(p), w = null, C?.disconnect(), g.forEach((I) => window.clearInterval(I)), ke(e.map)?.scene.canvas.removeEventListener("mousemove", B);
4332
4348
  });
4333
4349
  const H = () => [f("span", {
@@ -4396,7 +4412,7 @@ const xo = /* @__PURE__ */ U({
4396
4412
  "aria-hidden": "true"
4397
4413
  }, [H()]) : null])])])]) : null;
4398
4414
  }
4399
- }), Ao = /* @__PURE__ */ U({
4415
+ }), Lo = /* @__PURE__ */ U({
4400
4416
  name: "MapView",
4401
4417
  props: {
4402
4418
  /** 统一地图配置(由 MapContainer 归一化后传入,单一配置源) */
@@ -4421,10 +4437,10 @@ const xo = /* @__PURE__ */ U({
4421
4437
  expose: n,
4422
4438
  slots: r
4423
4439
  }) {
4424
- const i = Ya(e.config, {
4440
+ const i = qa(e.config, {
4425
4441
  theme: e.theme,
4426
4442
  popupConfig: e.popupConfig
4427
- }), a = qa(i, {
4443
+ }), a = Ka(i, {
4428
4444
  emit: (_, ...q) => t(_, ...q),
4429
4445
  expose: n,
4430
4446
  onPointClick: (_) => t("point-click", _)
@@ -4457,19 +4473,19 @@ const xo = /* @__PURE__ */ U({
4457
4473
  contourVisible: I,
4458
4474
  map: O
4459
4475
  } = a;
4460
- return () => f(Ln, null, [f(sn, {
4476
+ return () => f(kn, null, [f(cn, {
4461
4477
  visible: y.value.isLoading && !y.value.error,
4462
4478
  title: u.value,
4463
4479
  subtitle: s.value
4464
- }, null), f(yo, {
4480
+ }, null), f(Co, {
4465
4481
  visible: !!y.value.error,
4466
4482
  message: y.value.error?.message,
4467
4483
  onRetry: () => t("error-retry")
4468
- }, null), f(xo, {
4484
+ }, null), f(Ao, {
4469
4485
  map: O,
4470
4486
  mapBase: l.value,
4471
4487
  visible: w.value
4472
- }, null), v.value ? f(So, {
4488
+ }, null), v.value ? f(Do, {
4473
4489
  showSearch: !0,
4474
4490
  theme: d.value,
4475
4491
  filteredList: b.filteredList.value,
@@ -4498,7 +4514,7 @@ const xo = /* @__PURE__ */ U({
4498
4514
  }
4499
4515
  }, {
4500
4516
  "utils-right": () => r["utils-right"] ? r["utils-right"]() : null
4501
- }) : null, g.value ? f(Do, {
4517
+ }) : null, g.value ? f(To, {
4502
4518
  showDeleteControls: C.value,
4503
4519
  mapType: o.value,
4504
4520
  mapBase: l.value,
@@ -4516,10 +4532,10 @@ const xo = /* @__PURE__ */ U({
4516
4532
  "onStart-drawing": S
4517
4533
  }, null) : null, r.default ? r.default() : null]);
4518
4534
  }
4519
- }), Lo = Object.fromEntries(ln.map((e) => [e, {
4520
- type: ja[e],
4535
+ }), ko = Object.fromEntries(sn.map((e) => [e, {
4536
+ type: Ya[e],
4521
4537
  default: void 0
4522
- }])), el = /* @__PURE__ */ U({
4538
+ }])), tl = /* @__PURE__ */ U({
4523
4539
  name: "MapContainer",
4524
4540
  inheritAttrs: !1,
4525
4541
  props: {
@@ -4528,7 +4544,7 @@ const xo = /* @__PURE__ */ U({
4528
4544
  default: void 0
4529
4545
  },
4530
4546
  // 视图配置字段(键表派生,含 containerId/position/serverUrl/tools/geoserver 等)
4531
- ...Lo,
4547
+ ...ko,
4532
4548
  /**
4533
4549
  * 是否显示搜索栏(旧版命名,语义反转保留兼容)
4534
4550
  * @deprecated v2.0 移除,请使用 showSearch
@@ -4553,11 +4569,15 @@ const xo = /* @__PURE__ */ U({
4553
4569
  slots: n,
4554
4570
  expose: r
4555
4571
  }) {
4556
- const i = T(e.theme || "dark"), a = Xn(e.config, {
4572
+ const i = T(e.theme || "dark"), a = Zn(e.config, {
4557
4573
  containerId: e.containerId,
4558
4574
  position: e.position,
4559
4575
  serverUrl: e.serverUrl,
4576
+ accessToken: e.accessToken,
4560
4577
  libsUrl: e.libsUrl,
4578
+ mapId: e.mapId,
4579
+ terrainId: e.terrainId,
4580
+ baseLayers: e.baseLayers,
4561
4581
  // hideSearch 为旧版命名(语义反转:true 表示显示搜索栏),并入 showSearch 归一化
4562
4582
  showSearch: e.showSearch ?? e.hideSearch,
4563
4583
  showControls: e.showControls,
@@ -4586,8 +4606,8 @@ const xo = /* @__PURE__ */ U({
4586
4606
  }, [f("div", {
4587
4607
  id: a.containerId,
4588
4608
  class: "map-container"
4589
- }, null), f(kn, null, {
4590
- default: () => f(Ao, {
4609
+ }, null), f(_n, null, {
4610
+ default: () => f(Lo, {
4591
4611
  config: a,
4592
4612
  theme: i.value,
4593
4613
  popupConfig: e.popupConfig,
@@ -4605,7 +4625,7 @@ const xo = /* @__PURE__ */ U({
4605
4625
  default: (c) => At(n, "default", c),
4606
4626
  "utils-right": () => At(n, "utils-right", {})
4607
4627
  }),
4608
- fallback: () => f(sn, {
4628
+ fallback: () => f(cn, {
4609
4629
  visible: !0
4610
4630
  }, null)
4611
4631
  })]);
@@ -4615,7 +4635,7 @@ function At(e, t, n) {
4615
4635
  const r = e[t];
4616
4636
  return r ? r(n) : null;
4617
4637
  }
4618
- const tl = /* @__PURE__ */ U({
4638
+ const nl = /* @__PURE__ */ U({
4619
4639
  name: "AppButton",
4620
4640
  inheritAttrs: !1,
4621
4641
  props: {
@@ -4659,7 +4679,7 @@ const tl = /* @__PURE__ */ U({
4659
4679
  disabled: e.disabled
4660
4680
  }, n, {
4661
4681
  onClick: a
4662
- }), [e.loading ? f(un, {
4682
+ }), [e.loading ? f(dn, {
4663
4683
  size: 14,
4664
4684
  class: "app-button__spinner"
4665
4685
  }, null) : null, t.default ? f("span", {
@@ -4680,7 +4700,7 @@ function _t(e) {
4680
4700
  for (const r of t) n += String.fromCharCode(r);
4681
4701
  return `data:image/svg+xml;base64,${btoa(n)}`;
4682
4702
  }
4683
- const ko = {
4703
+ const _o = {
4684
4704
  fontSize: 12,
4685
4705
  textColor: "#FFFFFF",
4686
4706
  textBgColor: "rgba(0, 0, 0, 0.6)",
@@ -4688,17 +4708,17 @@ const ko = {
4688
4708
  rounded: !0,
4689
4709
  borderRadius: 4
4690
4710
  };
4691
- function dn(e) {
4692
- return { ...ko, ...e };
4711
+ function fn(e) {
4712
+ return { ..._o, ...e };
4693
4713
  }
4694
4714
  let Ue = null;
4695
- function fn(e, t) {
4715
+ function hn(e, t) {
4696
4716
  Ue || (Ue = document.createElement("canvas"));
4697
4717
  const n = Ue.getContext("2d");
4698
4718
  return n.font = `${t}px Microsoft YaHei, sans-serif`, Math.ceil(n.measureText(e).width);
4699
4719
  }
4700
- const _o = 3e3, ge = /* @__PURE__ */ new Map(), Po = 100;
4701
- function Bo(e) {
4720
+ const Po = 3e3, ge = /* @__PURE__ */ new Map(), Bo = 100;
4721
+ function Ro(e) {
4702
4722
  const t = ge.get(e);
4703
4723
  return t ? Promise.resolve(t) : new Promise((n) => {
4704
4724
  const r = new Image();
@@ -4708,34 +4728,34 @@ function Bo(e) {
4708
4728
  };
4709
4729
  r.src = e, r.onload = () => {
4710
4730
  if (r.naturalWidth > 0 && r.naturalHeight > 0)
4711
- for (ge.set(e, r); ge.size > Po; ) {
4731
+ for (ge.set(e, r); ge.size > Bo; ) {
4712
4732
  const l = ge.keys().next().value;
4713
4733
  if (l === void 0) break;
4714
4734
  ge.delete(l);
4715
4735
  }
4716
4736
  a();
4717
4737
  }, r.onerror = a;
4718
- const o = setTimeout(a, _o);
4738
+ const o = setTimeout(a, Po);
4719
4739
  });
4720
4740
  }
4721
- function Ro(e, t, n, r, i) {
4741
+ function zo(e, t, n, r, i) {
4722
4742
  e.fillStyle = t.textBgColor, t.rounded ? (e.beginPath(), e.roundRect(n, 0, r, i, t.borderRadius), e.fill()) : e.fillRect(n, 0, r, i);
4723
4743
  }
4724
- function hn(e, t, n, r, i) {
4744
+ function gn(e, t, n, r, i) {
4725
4745
  e.font = `${t.fontSize}px Microsoft YaHei, sans-serif`, e.fillStyle = t.textColor, e.textAlign = "center", e.textBaseline = "middle", e.fillText(n, r / 2, i / 2);
4726
4746
  }
4727
- async function zo(e, t, n, r, i) {
4728
- const a = await Bo(t.icon);
4747
+ async function Fo(e, t, n, r, i) {
4748
+ const a = await Ro(t.icon);
4729
4749
  return a.naturalWidth > 0 && a.naturalHeight > 0 ? (e.drawImage(a, r, i, n, n), !0) : (e.fillStyle = t.color, e.fillRect(r, i, n, n), !1);
4730
4750
  }
4731
4751
  async function Pt(e, t, n, r) {
4732
- const i = n.iconSize || 32, a = dn(n.textConfig), o = fn(t, a.fontSize) + a.padding * 2, l = a.fontSize + a.padding * 2, c = Math.max(i, o), u = l + i, s = document.createElement("canvas");
4752
+ const i = n.iconSize || 32, a = fn(n.textConfig), o = hn(t, a.fontSize) + a.padding * 2, l = a.fontSize + a.padding * 2, c = Math.max(i, o), u = l + i, s = document.createElement("canvas");
4733
4753
  s.width = c * r, s.height = u * r;
4734
4754
  const d = s.getContext("2d");
4735
4755
  d.scale(r, r);
4736
4756
  const h = (c - o) / 2;
4737
- Ro(d, a, h, o, l), hn(d, a, t, c, l);
4738
- const g = await zo(d, e, i, (c - i) / 2, l);
4757
+ zo(d, a, h, o, l), gn(d, a, t, c, l);
4758
+ const g = await Fo(d, e, i, (c - i) / 2, l);
4739
4759
  return {
4740
4760
  icon: s,
4741
4761
  width: c,
@@ -4748,11 +4768,11 @@ async function Pt(e, t, n, r) {
4748
4768
  degraded: !g
4749
4769
  };
4750
4770
  }
4751
- function Fo(e, t, n) {
4752
- const r = n.iconSize || 32, i = dn(n.textConfig), a = fn(t, i.fontSize) + i.padding * 2, o = i.fontSize + i.padding * 2, l = Math.max(r, a), c = o + r, u = document.createElement("canvas");
4771
+ function No(e, t, n) {
4772
+ const r = n.iconSize || 32, i = fn(n.textConfig), a = hn(t, i.fontSize) + i.padding * 2, o = i.fontSize + i.padding * 2, l = Math.max(r, a), c = o + r, u = document.createElement("canvas");
4753
4773
  u.width = l, u.height = c;
4754
4774
  const s = u.getContext("2d");
4755
- return s.fillStyle = i.textBgColor, s.fillRect(0, 0, l, o), hn(s, i, t, l, o), s.fillStyle = e.color, s.fillRect((l - r) / 2, o, r, r), {
4775
+ return s.fillStyle = i.textBgColor, s.fillRect(0, 0, l, o), gn(s, i, t, l, o), s.fillStyle = e.color, s.fillRect((l - r) / 2, o, r, r), {
4756
4776
  icon: u,
4757
4777
  width: l,
4758
4778
  height: c,
@@ -4762,25 +4782,25 @@ function Fo(e, t, n) {
4762
4782
  color: e.color
4763
4783
  };
4764
4784
  }
4765
- const No = "color_svg";
4785
+ const Vo = "color_svg";
4766
4786
  function Bt(e, t) {
4767
4787
  return t === void 0 ? `${e}_no_text` : t === "" ? `${e}_empty_text` : `${e}_text_${t}`;
4768
4788
  }
4769
4789
  function Rt(e) {
4770
- return `${No}_${e}`;
4790
+ return `${Vo}_${e}`;
4771
4791
  }
4772
4792
  function He(e) {
4773
- return G[e]?.color || G.default.color;
4793
+ return $[e]?.color || $.default.color;
4774
4794
  }
4775
- const je = 25, Vo = 8;
4776
- function Oo() {
4795
+ const je = 25, Oo = 8;
4796
+ function $o() {
4777
4797
  return typeof MessageChannel < "u" ? new Promise((e) => {
4778
4798
  const t = new MessageChannel();
4779
4799
  t.port1.onmessage = () => e(), t.port2.postMessage(0);
4780
4800
  }) : new Promise((e) => setTimeout(e, 0));
4781
4801
  }
4782
4802
  async function Je(e) {
4783
- return performance.now() - e >= Vo ? (await Oo(), performance.now()) : e;
4803
+ return performance.now() - e >= Oo ? (await $o(), performance.now()) : e;
4784
4804
  }
4785
4805
  async function Go(e, t) {
4786
4806
  const n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
@@ -4806,7 +4826,7 @@ async function Go(e, t) {
4806
4826
  }
4807
4827
  return n;
4808
4828
  }
4809
- async function $o(e, t) {
4829
+ async function Wo(e, t) {
4810
4830
  const n = Array.isArray(e) ? e : [];
4811
4831
  if (n.length === 0) return [];
4812
4832
  const r = new Array(n.length), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
@@ -4850,24 +4870,24 @@ async function $o(e, t) {
4850
4870
  }
4851
4871
  return n;
4852
4872
  }
4853
- function Wo(e, t) {
4854
- const n = JSON.stringify(G);
4873
+ function Uo(e, t) {
4874
+ const n = JSON.stringify($);
4855
4875
  for (const [r, i] of Object.entries(e))
4856
- G[r] = {
4876
+ $[r] = {
4857
4877
  color: i,
4858
- text: G[r]?.text || G.default.text
4878
+ text: $[r]?.text || $.default.text
4859
4879
  };
4860
- n !== JSON.stringify(G) && t();
4880
+ n !== JSON.stringify($) && t();
4861
4881
  }
4862
- function Uo() {
4863
- const e = { default: G.default.color };
4864
- for (const [t, n] of Object.entries(G))
4882
+ function Ho() {
4883
+ const e = { default: $.default.color };
4884
+ for (const [t, n] of Object.entries($))
4865
4885
  t !== "default" && (e[t] = n.color);
4866
4886
  return e;
4867
4887
  }
4868
- const Ho = "color:";
4888
+ const jo = "color:";
4869
4889
  function zt(e) {
4870
- return `${Ho}${e}`;
4890
+ return `${jo}${e}`;
4871
4891
  }
4872
4892
  class K {
4873
4893
  constructor() {
@@ -4936,7 +4956,7 @@ class K {
4936
4956
  /** 预生成所有状态对应的颜色 SVG */
4937
4957
  preGenerateBaseColors() {
4938
4958
  if (this.colorCache.size > 0 || !this.rawSvg) return;
4939
- (/* @__PURE__ */ new Set([...Object.keys(G), "default"])).forEach(
4959
+ (/* @__PURE__ */ new Set([...Object.keys($), "default"])).forEach(
4940
4960
  (n) => this.ensureColoredSvg(n, He(n))
4941
4961
  );
4942
4962
  }
@@ -5070,7 +5090,7 @@ class K {
5070
5090
  this.runtimeStats.textHits += r.textHits, this.runtimeStats.textGenerated += r.textGenerated, this.runtimeStats.uniqueText += r.uniqueText;
5071
5091
  }
5072
5092
  };
5073
- return $o(t, n);
5093
+ return Wo(t, n);
5074
5094
  }
5075
5095
  /** 根据条件创建图标:条件返回文字则显示文字,否则仅基础图标 */
5076
5096
  async createConditionalIcon(t, n) {
@@ -5116,19 +5136,19 @@ class K {
5116
5136
  }
5117
5137
  /** 更新状态颜色映射(入参为「状态 -> 颜色」纯色映射) */
5118
5138
  updateStatusColorMap(t) {
5119
- Wo(t, () => this.clearCache());
5139
+ Uo(t, () => this.clearCache());
5120
5140
  }
5121
5141
  /** 获取当前状态颜色映射(纯色形式) */
5122
5142
  getStatusColorMap() {
5123
- return Uo();
5143
+ return Ho();
5124
5144
  }
5125
5145
  /** 回退文字图标(供 canvas 内部异常时使用) */
5126
5146
  buildFallbackTextIcon(t, n) {
5127
- return Fo(t, n, this.defaultConfig);
5147
+ return No(t, n, this.defaultConfig);
5128
5148
  }
5129
5149
  }
5130
- const nl = K.getInstance();
5131
- function rl(e) {
5150
+ const rl = K.getInstance();
5151
+ function il(e) {
5132
5152
  const t = e?.type, n = e?.data;
5133
5153
  if (t === "circle" && Array.isArray(n?.center) && n.center.length >= 2)
5134
5154
  return {
@@ -5143,92 +5163,92 @@ function rl(e) {
5143
5163
  }
5144
5164
  return null;
5145
5165
  }
5146
- var jo = /* @__PURE__ */ ((e) => (e.INIT_FAILED = "INIT_FAILED", e.LOAD_SCRIPT_FAILED = "LOAD_SCRIPT_FAILED", e.INVALID_PARAMS = "INVALID_PARAMS", e.RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND", e.OPERATION_FAILED = "OPERATION_FAILED", e))(jo || {});
5147
- class il extends Error {
5166
+ var Yo = /* @__PURE__ */ ((e) => (e.INIT_FAILED = "INIT_FAILED", e.LOAD_SCRIPT_FAILED = "LOAD_SCRIPT_FAILED", e.INVALID_PARAMS = "INVALID_PARAMS", e.RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND", e.OPERATION_FAILED = "OPERATION_FAILED", e))(Yo || {});
5167
+ class al extends Error {
5148
5168
  constructor(t, n, r) {
5149
5169
  super(t), this.code = n, this.details = r, this.name = "MapError";
5150
5170
  }
5151
5171
  }
5152
5172
  export {
5153
5173
  nt as ANIMATION_DURATION,
5154
- tl as AppButton,
5174
+ nl as AppButton,
5155
5175
  j as AppIcon,
5156
- Co as AppInput,
5157
- un as AppSpinner,
5176
+ bo as AppInput,
5177
+ dn as AppSpinner,
5158
5178
  Oe as CAMERA_CONFIG,
5159
- Zn as ConfigManager,
5160
- Fn as DEFAULT_CONTOUR_CONFIG,
5179
+ Jn as ConfigManager,
5180
+ Nn as DEFAULT_CONTOUR_CONFIG,
5161
5181
  tt as DEFAULT_LIBS_URL,
5162
- Ot as DEFAULT_MAP_CONFIG,
5163
- Vn as DEFAULT_MASK_CONFIG,
5182
+ $t as DEFAULT_MAP_CONFIG,
5183
+ On as DEFAULT_MASK_CONFIG,
5164
5184
  ye as DEFAULT_POSITION,
5165
5185
  Vt as DEFAULT_TOOLS,
5166
- Nn as DEFAULT_TRAJECTORY_CONFIG,
5167
- jo as ErrorCode,
5186
+ Vn as DEFAULT_TRAJECTORY_CONFIG,
5187
+ Yo as ErrorCode,
5168
5188
  Nt as EventBus,
5169
5189
  Q as GEOMETRY_CONFIG,
5170
- sn as GameLoading,
5171
- cn as ICON_MAP,
5190
+ cn as GameLoading,
5191
+ un as ICON_MAP,
5172
5192
  K as IconManager,
5173
5193
  ft as LIBRARIES,
5174
5194
  Gn as MORPH_3D_DELAY,
5175
- el as MapContainer,
5176
- Do as MapControls,
5177
- yo as MapError,
5178
- il as MapErrorClass,
5195
+ tl as MapContainer,
5196
+ To as MapControls,
5197
+ Co as MapError,
5198
+ al as MapErrorClass,
5179
5199
  oe as MapManager,
5180
- xo as MapStatus,
5181
- So as MapTools,
5182
- Ao as MapView,
5200
+ Ao as MapStatus,
5201
+ Do as MapTools,
5202
+ Lo as MapView,
5183
5203
  Mt as NoResultsPanel,
5184
5204
  me as PERFORMANCE_CONFIG,
5185
- On as READY_DELAY,
5186
- Jn as ResourceManager,
5187
- G as STATUS_COLOR_MAP,
5188
- tr as ScriptLoader,
5189
- bo as SearchResultsPanel,
5190
- Un as WAVE_REMOVE_DELAY,
5191
- Ba as buildGeoServerWmtsUrl,
5192
- Qo as cartesianFromCoord,
5205
+ $n as READY_DELAY,
5206
+ Qn as ResourceManager,
5207
+ $ as STATUS_COLOR_MAP,
5208
+ nr as ScriptLoader,
5209
+ Eo as SearchResultsPanel,
5210
+ Hn as WAVE_REMOVE_DELAY,
5211
+ Ra as buildGeoServerWmtsUrl,
5212
+ el as cartesianFromCoord,
5193
5213
  rt as cartesianToDegrees,
5194
5214
  Gr as cartographicToDegrees,
5195
- qt as closeCoordinates,
5196
- Ra as createGeoServerWmtsProvider,
5197
- rl as createSearchShapeFromDrawEvent,
5198
- Xo as eventBus,
5215
+ Kt as closeCoordinates,
5216
+ za as createGeoServerWmtsProvider,
5217
+ il as createSearchShapeFromDrawEvent,
5218
+ Zo as eventBus,
5199
5219
  D as getBmgl,
5200
- Rn as getDefaultToolbarEntries,
5201
- zn as getDefaultTools,
5202
- Bn as getDrawToolEntries,
5203
- Pn as getDrawToolEntry,
5204
- Or as getEntityType,
5205
- Ko as getLogLevel,
5206
- Jo as getStatusInfo,
5207
- wo as getSvg,
5208
- nl as iconManager,
5209
- mo as isIconName,
5220
+ zn as getDefaultToolbarEntries,
5221
+ Fn as getDefaultTools,
5222
+ Rn as getDrawToolEntries,
5223
+ Bn as getDrawToolEntry,
5224
+ $r as getEntityType,
5225
+ Xo as getLogLevel,
5226
+ Qo as getStatusInfo,
5227
+ yo as getSvg,
5228
+ rl as iconManager,
5229
+ vo as isIconName,
5210
5230
  m as logger,
5211
5231
  _e as mapManager,
5212
- $e as normalizeMaskConfig,
5232
+ Ge as normalizeMaskConfig,
5213
5233
  Et as normalizeTrajectoryConfig,
5214
- Kt as rectangleToPath,
5215
- Zo as registerDrawTool,
5234
+ Xt as rectangleToPath,
5235
+ Jo as registerDrawTool,
5216
5236
  ht as resolveUrl,
5217
- $t as scriptLoader,
5218
- nr as setBmgl,
5219
- qo as setLogLevel,
5220
- Sr as useMap,
5221
- Yi as useMapCircleWave,
5222
- oa as useMapContour,
5223
- _i as useMapDraw,
5224
- oi as useMapEntity,
5225
- ra as useMapLayers,
5226
- Pa as useMapLighting,
5227
- Sa as useMapMask,
5228
- Vr as useMapPoint,
5229
- ji as useMapPopup,
5230
- wa as useMapTrajectory,
5231
- qa as useMapView,
5232
- Ma as useMapWeather,
5233
- rr as waitForBmgl
5237
+ Wt as scriptLoader,
5238
+ rr as setBmgl,
5239
+ Ko as setLogLevel,
5240
+ Dr as useMap,
5241
+ qi as useMapCircleWave,
5242
+ la as useMapContour,
5243
+ Pi as useMapDraw,
5244
+ li as useMapEntity,
5245
+ ia as useMapLayers,
5246
+ Ba as useMapLighting,
5247
+ Da as useMapMask,
5248
+ Or as useMapPoint,
5249
+ Yi as useMapPopup,
5250
+ ya as useMapTrajectory,
5251
+ Ka as useMapView,
5252
+ Ia as useMapWeather,
5253
+ ir as waitForBmgl
5234
5254
  };