vue-openlayers-plugin 1.1.16 → 1.2.1

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.
Files changed (36) hide show
  1. package/README.md +341 -0
  2. package/lib/{BasemapPanel-d1332546.mjs → BasemapPanel-aa284bf3.mjs} +1 -1
  3. package/lib/{CoordinateLocationDialog-c2d89c1e.mjs → CoordinateLocationDialog-6c0a6b23.mjs} +1 -1
  4. package/lib/{MapPrintDialog-eea9e39e.mjs → FilterPanel-b91325ac.mjs} +1 -1
  5. package/lib/{FilterPanel-d7cb1c79.mjs → LayerPanel-88983648.mjs} +1 -1
  6. package/lib/{LayerPanel-f411a32b.mjs → MapPrintDialog-2e5a22e7.mjs} +1 -1
  7. package/lib/{MeasurementDialog-9914f4e9.mjs → MeasurementDialog-ebda57e6.mjs} +1 -1
  8. package/lib/{MyMarkersDialog-ef717e8c.mjs → MyMarkersDialog-1f851036.mjs} +1 -1
  9. package/lib/{QuadCompareDialog-3d6eaf0c.mjs → QuadCompareDialog-8f624242.mjs} +1 -1
  10. package/lib/{RegionNavigationDialog-2843eedd.mjs → RegionNavigationDialog-549597e1.mjs} +1 -1
  11. package/lib/{SplitCompareDialog-1e678e69.mjs → SplitCompareDialog-9bcce145.mjs} +1 -1
  12. package/lib/{SwipeCompareDialog-547de7ee.mjs → SwipeCompareDialog-374b9865.mjs} +1 -1
  13. package/lib/{ViewBookmarksDialog-d3e38c53.mjs → ViewBookmarksDialog-10b5fe14.mjs} +1 -1
  14. package/lib/{index-92020358.mjs → index-b9d6884a.mjs} +1 -1
  15. package/lib/{index-198a96d2.mjs → index-e8d5fc75.mjs} +652 -90
  16. package/lib/{index.es-dd926512.mjs → index.es-ff0f4147.mjs} +1 -1
  17. package/lib/index.esm.js +1 -1
  18. package/lib/index.umd.js +638 -76
  19. package/lib/style.css +74 -23
  20. package/package.json +1 -1
  21. package/types/components/OlControlPanel.vue.d.ts +7 -3
  22. package/types/components/OlControlPanel.vue.d.ts.map +1 -1
  23. package/types/components/OlMap.vue.d.ts +3 -1
  24. package/types/components/OlMap.vue.d.ts.map +1 -1
  25. package/types/components/OlMapSearch.vue.d.ts +20 -1
  26. package/types/components/OlMapSearch.vue.d.ts.map +1 -1
  27. package/types/core/tiandituSearchApi.d.ts.map +1 -1
  28. package/types/lowcode-entry.d.ts +5 -0
  29. package/types/lowcode-entry.d.ts.map +1 -1
  30. package/types/plugins/index.d.ts +90 -0
  31. package/types/plugins/index.d.ts.map +1 -0
  32. package/types/services/searchService.d.ts +21 -1
  33. package/types/services/searchService.d.ts.map +1 -1
  34. package/types/tsconfig.tsbuildinfo +1 -1
  35. package/types/types/map.d.ts +56 -0
  36. package/types/types/map.d.ts.map +1 -1
@@ -5,11 +5,11 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import { defineComponent, ref, computed, watch, onMounted, openBlock, createElementBlock, normalizeClass, normalizeStyle as normalizeStyle$1, withModifiers, createElementVNode, createBlock, unref, withCtx, createTextVNode, createCommentVNode, renderSlot, nextTick, toDisplayString, onUnmounted, createVNode as createVNode$1, Fragment, renderList, h as h$3, createApp, inject, provide, isRef, resolveDirective, withDirectives, vShow, defineAsyncComponent, reactive, shallowRef, resolveComponent, resolveDynamicComponent, withKeys, useAttrs, useSlots, mergeProps, createSlots, normalizeProps, guardReactiveProps, watchEffect, Teleport } from "vue";
8
- import { MapLocation, Grid as Grid$6, Tools, Location, Guide, Flag, Printer, EditPen, Delete, Switch, DocumentCopy, Search, Loading, Clock, InfoFilled, Plus, Minus, RefreshLeft, RefreshRight, Right, FullScreen, Aim, Menu as Menu$2, View as View$4, Expand, FolderOpened, DataBoard, Setting, Download, Refresh, ZoomIn, ZoomOut, Document as Document$1, Position, Close } from "@element-plus/icons-vue";
8
+ import { MapLocation, Grid as Grid$6, Tools, Location, Guide, Flag, Printer, EditPen, Delete, Switch, DocumentCopy, Search, Loading, Clock, InfoFilled, Plus, Minus, RefreshLeft, RefreshRight, Right, FullScreen, Aim, Menu as Menu$2, View as View$4, Expand, Share, CircleCheck, FolderOpened, DataBoard, Setting, Download, Refresh, ZoomIn, ZoomOut, Document as Document$1, Position, Close } from "@element-plus/icons-vue";
9
9
  import { Feature as Feature$3, Map as Map$4 } from "ol";
10
10
  import proj4 from "proj4";
11
11
  import { TileSuperMapRest, Util as Util$3, GetFeaturesByGeometryParameters as GetFeaturesByGeometryParameters$1, FeatureService } from "@supermapgis/iclient-ol";
12
- import { ElButton, ElInput, ElIcon, ElDialog } from "element-plus";
12
+ import { ElButton, ElInput, ElIcon, ElPopover, ElTooltip, ElCheckbox, ElDialog } from "element-plus";
13
13
  function _mergeNamespaces(n2, m2) {
14
14
  for (var i = 0; i < m2.length; i++) {
15
15
  const e8 = m2[i];
@@ -4183,7 +4183,6 @@ function transformGeom2D(simpleGeometry, transform3, dest) {
4183
4183
  dest
4184
4184
  );
4185
4185
  }
4186
- const SimpleGeometry$1 = SimpleGeometry;
4187
4186
  function linearRing(flatCoordinates, offset2, end3, stride) {
4188
4187
  let twiceArea = 0;
4189
4188
  const x0 = flatCoordinates[end3 - stride];
@@ -4636,7 +4635,7 @@ function quantizeMultiArray(flatCoordinates, offset2, endss, stride, tolerance2,
4636
4635
  }
4637
4636
  return simplifiedOffset;
4638
4637
  }
4639
- let LinearRing$1 = class LinearRing extends SimpleGeometry$1 {
4638
+ let LinearRing$1 = class LinearRing extends SimpleGeometry {
4640
4639
  /**
4641
4640
  * @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
4642
4641
  * For internal use, flat coordinates in combination with `layout` are also accepted.
@@ -4793,7 +4792,7 @@ let LinearRing$1 = class LinearRing extends SimpleGeometry$1 {
4793
4792
  }
4794
4793
  };
4795
4794
  const LinearRing$2 = LinearRing$1;
4796
- let Point$5 = class Point extends SimpleGeometry$1 {
4795
+ let Point$5 = class Point extends SimpleGeometry {
4797
4796
  /**
4798
4797
  * @param {import("../coordinate.js").Coordinate} coordinates Coordinates.
4799
4798
  * @param {import("./Geometry.js").GeometryLayout} [layout] Layout.
@@ -5278,7 +5277,7 @@ function inflateEnds(flatCoordinates, ends) {
5278
5277
  }
5279
5278
  return endss;
5280
5279
  }
5281
- let Polygon$6 = class Polygon extends SimpleGeometry$1 {
5280
+ let Polygon$6 = class Polygon extends SimpleGeometry {
5282
5281
  /**
5283
5282
  * @param {!Array<Array<import("../coordinate.js").Coordinate>>|!Array<number>} coordinates
5284
5283
  * Array of linear rings that define the polygon. The first linear ring of the
@@ -18178,7 +18177,7 @@ function lineStringLength(flatCoordinates, offset2, end3, stride) {
18178
18177
  }
18179
18178
  return length2;
18180
18179
  }
18181
- let LineString$1 = class LineString extends SimpleGeometry$1 {
18180
+ let LineString$1 = class LineString extends SimpleGeometry {
18182
18181
  /**
18183
18182
  * @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
18184
18183
  * For internal use, flat coordinates in combination with `layout` are also accepted.
@@ -19776,7 +19775,7 @@ function linearRingss(flatCoordinates, offset2, endss, stride) {
19776
19775
  }
19777
19776
  return flatCenters;
19778
19777
  }
19779
- let Circle$6 = class Circle extends SimpleGeometry$1 {
19778
+ let Circle$6 = class Circle extends SimpleGeometry {
19780
19779
  /**
19781
19780
  * @param {!import("../coordinate.js").Coordinate} center Center.
19782
19781
  * For internal use, flat coordinates in combination with `layout` and no
@@ -20288,7 +20287,7 @@ function cloneGeometries(geometries) {
20288
20287
  return geometries.map((geometry) => geometry.clone());
20289
20288
  }
20290
20289
  const GeometryCollection$1 = GeometryCollection;
20291
- let MultiLineString$1 = class MultiLineString extends SimpleGeometry$1 {
20290
+ let MultiLineString$1 = class MultiLineString extends SimpleGeometry {
20292
20291
  /**
20293
20292
  * @param {Array<Array<import("../coordinate.js").Coordinate>|LineString>|Array<number>} coordinates
20294
20293
  * Coordinates or LineString geometries. (For internal use, flat coordinates in
@@ -20604,7 +20603,7 @@ let MultiLineString$1 = class MultiLineString extends SimpleGeometry$1 {
20604
20603
  }
20605
20604
  };
20606
20605
  const MultiLineString$2 = MultiLineString$1;
20607
- let MultiPoint$1 = class MultiPoint extends SimpleGeometry$1 {
20606
+ let MultiPoint$1 = class MultiPoint extends SimpleGeometry {
20608
20607
  /**
20609
20608
  * @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
20610
20609
  * For internal use, flat coordinates in combination with `layout` are also accepted.
@@ -20779,7 +20778,7 @@ let MultiPoint$1 = class MultiPoint extends SimpleGeometry$1 {
20779
20778
  }
20780
20779
  };
20781
20780
  const MultiPoint$2 = MultiPoint$1;
20782
- let MultiPolygon$1 = class MultiPolygon extends SimpleGeometry$1 {
20781
+ let MultiPolygon$1 = class MultiPolygon extends SimpleGeometry {
20783
20782
  /**
20784
20783
  * @param {Array<Array<Array<import("../coordinate.js").Coordinate>>|Polygon>|Array<number>} coordinates Coordinates.
20785
20784
  * For internal use, flat coordinates in combination with `layout` and `endss` are also accepted.
@@ -54625,7 +54624,6 @@ class FeatureFormat {
54625
54624
  return abstract();
54626
54625
  }
54627
54626
  }
54628
- const FeatureFormat$1 = FeatureFormat;
54629
54627
  function transformGeometryWithOptions(geometry, write3, options) {
54630
54628
  const featureProjection = options ? get$5(options.featureProjection) : null;
54631
54629
  const dataProjection = options ? get$5(options.dataProjection) : null;
@@ -54738,7 +54736,7 @@ function createGeometry(object2, options) {
54738
54736
  options
54739
54737
  );
54740
54738
  }
54741
- class JSONFeature extends FeatureFormat$1 {
54739
+ class JSONFeature extends FeatureFormat {
54742
54740
  constructor() {
54743
54741
  super();
54744
54742
  }
@@ -55675,7 +55673,7 @@ function getDocument() {
55675
55673
  }
55676
55674
  return document_;
55677
55675
  }
55678
- class XMLFeature extends FeatureFormat$1 {
55676
+ class XMLFeature extends FeatureFormat {
55679
55677
  constructor() {
55680
55678
  super();
55681
55679
  this.xmlSerializer_ = getXMLSerializer();
@@ -58181,7 +58179,7 @@ const GML = GML3$1;
58181
58179
  GML.prototype.writeFeatures;
58182
58180
  GML.prototype.writeFeaturesNode;
58183
58181
  const GML$1 = GML;
58184
- class TextFeature extends FeatureFormat$1 {
58182
+ class TextFeature extends FeatureFormat {
58185
58183
  constructor() {
58186
58184
  super();
58187
58185
  }
@@ -61492,7 +61490,7 @@ function writeUtf8(buf, str2, pos) {
61492
61490
  }
61493
61491
  return pos;
61494
61492
  }
61495
- class MVT extends FeatureFormat$1 {
61493
+ class MVT extends FeatureFormat {
61496
61494
  /**
61497
61495
  * @param {Options<FeatureType>} [options] Options.
61498
61496
  */
@@ -334669,24 +334667,24 @@ const _hoisted_7$c = {
334669
334667
  key: 0,
334670
334668
  class: "image-loading"
334671
334669
  };
334672
- const _hoisted_8$b = {
334670
+ const _hoisted_8$c = {
334673
334671
  key: 1,
334674
334672
  class: "image-error"
334675
334673
  };
334676
- const _hoisted_9$b = {
334674
+ const _hoisted_9$c = {
334677
334675
  key: 2,
334678
334676
  class: "image-navigation"
334679
334677
  };
334680
- const _hoisted_10$b = {
334678
+ const _hoisted_10$c = {
334681
334679
  key: 3,
334682
334680
  class: "image-counter"
334683
334681
  };
334684
- const _hoisted_11$9 = {
334682
+ const _hoisted_11$a = {
334685
334683
  key: 2,
334686
334684
  class: "image-thumbnails"
334687
334685
  };
334688
- const _hoisted_12$7 = ["onClick"];
334689
- const _hoisted_13$7 = ["src", "alt"];
334686
+ const _hoisted_12$8 = ["onClick"];
334687
+ const _hoisted_13$8 = ["src", "alt"];
334690
334688
  const _hoisted_14$5 = {
334691
334689
  key: 3,
334692
334690
  class: "slideshow-controls"
@@ -334857,10 +334855,10 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
334857
334855
  createElementVNode("div", { class: "loading-spinner" }, null, -1),
334858
334856
  createElementVNode("span", null, "加载中...", -1)
334859
334857
  ])])) : createCommentVNode("", true),
334860
- imageError.value ? (openBlock(), createElementBlock("div", _hoisted_8$b, [..._cache[5] || (_cache[5] = [
334858
+ imageError.value ? (openBlock(), createElementBlock("div", _hoisted_8$c, [..._cache[5] || (_cache[5] = [
334861
334859
  createElementVNode("span", null, "图片加载失败", -1)
334862
334860
  ])])) : createCommentVNode("", true),
334863
- imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_9$b, [
334861
+ imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_9$c, [
334864
334862
  createVNode$1(unref(ElButton), {
334865
334863
  class: "nav-btn prev-btn",
334866
334864
  disabled: currentIndex.value === 0,
@@ -334886,10 +334884,10 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
334886
334884
  _: 1
334887
334885
  }, 8, ["disabled"])
334888
334886
  ])) : createCommentVNode("", true),
334889
- imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_10$b, toDisplayString(currentIndex.value + 1) + " / " + toDisplayString(imageList.value.length), 1)) : createCommentVNode("", true)
334887
+ imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_10$c, toDisplayString(currentIndex.value + 1) + " / " + toDisplayString(imageList.value.length), 1)) : createCommentVNode("", true)
334890
334888
  ])
334891
334889
  ]),
334892
- _ctx.config.showThumbnails && imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_11$9, [
334890
+ _ctx.config.showThumbnails && imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_11$a, [
334893
334891
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageList.value, (image2, index2) => {
334894
334892
  return openBlock(), createElementBlock("div", {
334895
334893
  key: index2,
@@ -334899,8 +334897,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
334899
334897
  createElementVNode("img", {
334900
334898
  src: image2,
334901
334899
  alt: `缩略图 ${index2 + 1}`
334902
- }, null, 8, _hoisted_13$7)
334903
- ], 10, _hoisted_12$7);
334900
+ }, null, 8, _hoisted_13$8)
334901
+ ], 10, _hoisted_12$8);
334904
334902
  }), 128))
334905
334903
  ])) : createCommentVNode("", true),
334906
334904
  _ctx.config.slideshow && imageList.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_14$5, [
@@ -334972,24 +334970,24 @@ const _hoisted_6$c = {
334972
334970
  class: "data-stats"
334973
334971
  };
334974
334972
  const _hoisted_7$b = { key: 0 };
334975
- const _hoisted_8$a = {
334973
+ const _hoisted_8$b = {
334976
334974
  key: 5,
334977
334975
  class: "table-view"
334978
334976
  };
334979
- const _hoisted_9$a = { class: "table-container" };
334980
- const _hoisted_10$a = { class: "data-table" };
334981
- const _hoisted_11$8 = ["onClick"];
334982
- const _hoisted_12$6 = {
334977
+ const _hoisted_9$b = { class: "table-container" };
334978
+ const _hoisted_10$b = { class: "data-table" };
334979
+ const _hoisted_11$9 = ["onClick"];
334980
+ const _hoisted_12$7 = {
334983
334981
  key: 0,
334984
334982
  class: "sort-indicator"
334985
334983
  };
334986
- const _hoisted_13$6 = ["onClick"];
334984
+ const _hoisted_13$7 = ["onClick"];
334987
334985
  const _hoisted_14$4 = { key: 0 };
334988
334986
  const _hoisted_15$3 = ["src", "alt"];
334989
334987
  const _hoisted_16$3 = { key: 1 };
334990
334988
  const _hoisted_17$3 = ["href"];
334991
334989
  const _hoisted_18$3 = { key: 2 };
334992
- const _hoisted_19$2 = { key: 3 };
334990
+ const _hoisted_19$3 = { key: 3 };
334993
334991
  const _hoisted_20$2 = { key: 4 };
334994
334992
  const _hoisted_21$2 = {
334995
334993
  key: 6,
@@ -335240,9 +335238,9 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
335240
335238
  createElementVNode("span", null, "共 " + toDisplayString(filteredData.value.length) + " 条记录", 1),
335241
335239
  searchQuery.value ? (openBlock(), createElementBlock("span", _hoisted_7$b, "(已过滤 " + toDisplayString(arrayData.value.length - filteredData.value.length) + " 条)", 1)) : createCommentVNode("", true)
335242
335240
  ])) : createCommentVNode("", true),
335243
- currentView.value === "table" ? (openBlock(), createElementBlock("div", _hoisted_8$a, [
335244
- createElementVNode("div", _hoisted_9$a, [
335245
- createElementVNode("table", _hoisted_10$a, [
335241
+ currentView.value === "table" ? (openBlock(), createElementBlock("div", _hoisted_8$b, [
335242
+ createElementVNode("div", _hoisted_9$b, [
335243
+ createElementVNode("table", _hoisted_10$b, [
335246
335244
  createElementVNode("thead", null, [
335247
335245
  createElementVNode("tr", null, [
335248
335246
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayFields.value, (field) => {
@@ -335252,8 +335250,8 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
335252
335250
  onClick: ($event) => handleSort(field.key)
335253
335251
  }, [
335254
335252
  createTextVNode(toDisplayString(field.label) + " ", 1),
335255
- field.sortable && sortField.value === field.key ? (openBlock(), createElementBlock("span", _hoisted_12$6, toDisplayString(sortOrder.value === "asc" ? "↑" : "↓"), 1)) : createCommentVNode("", true)
335256
- ], 10, _hoisted_11$8);
335253
+ field.sortable && sortField.value === field.key ? (openBlock(), createElementBlock("span", _hoisted_12$7, toDisplayString(sortOrder.value === "asc" ? "↑" : "↓"), 1)) : createCommentVNode("", true)
335254
+ ], 10, _hoisted_11$9);
335257
335255
  }), 128))
335258
335256
  ])
335259
335257
  ]),
@@ -335279,10 +335277,10 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
335279
335277
  target: "_blank",
335280
335278
  class: "table-link"
335281
335279
  }, toDisplayString(getFieldValue(item, field.key || field.name)), 9, _hoisted_17$3)
335282
- ])) : field.type === "date" ? (openBlock(), createElementBlock("span", _hoisted_18$3, toDisplayString(formatDate(getFieldValue(item, field.key || field.name))), 1)) : field.type === "number" ? (openBlock(), createElementBlock("span", _hoisted_19$2, toDisplayString(formatNumber2(getFieldValue(item, field.key || field.name))), 1)) : (openBlock(), createElementBlock("span", _hoisted_20$2, toDisplayString(getFieldValue(item, field.key || field.name)), 1))
335280
+ ])) : field.type === "date" ? (openBlock(), createElementBlock("span", _hoisted_18$3, toDisplayString(formatDate(getFieldValue(item, field.key || field.name))), 1)) : field.type === "number" ? (openBlock(), createElementBlock("span", _hoisted_19$3, toDisplayString(formatNumber2(getFieldValue(item, field.key || field.name))), 1)) : (openBlock(), createElementBlock("span", _hoisted_20$2, toDisplayString(getFieldValue(item, field.key || field.name)), 1))
335283
335281
  ]);
335284
335282
  }), 128))
335285
- ], 8, _hoisted_13$6);
335283
+ ], 8, _hoisted_13$7);
335286
335284
  }), 128))
335287
335285
  ])
335288
335286
  ])
@@ -337397,19 +337395,19 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
337397
337395
  }
337398
337396
  });
337399
337397
  const defaultComponents = {
337400
- measurement: () => import("./MeasurementDialog-9914f4e9.mjs"),
337401
- basemap: () => import("./BasemapPanel-d1332546.mjs"),
337402
- print: () => import("./MapPrintDialog-eea9e39e.mjs"),
337403
- "layer-panel": () => import("./LayerPanel-f411a32b.mjs"),
337404
- coordinate: () => import("./CoordinateLocationDialog-c2d89c1e.mjs"),
337405
- "region-navigation": () => import("./RegionNavigationDialog-2843eedd.mjs"),
337406
- "my-markers": () => import("./MyMarkersDialog-ef717e8c.mjs"),
337407
- "view-bookmarks": () => import("./ViewBookmarksDialog-d3e38c53.mjs"),
337408
- "map-drawing": () => import("./index-92020358.mjs"),
337409
- "filter-panel": () => import("./FilterPanel-d7cb1c79.mjs"),
337410
- "swipe-compare": () => import("./SwipeCompareDialog-547de7ee.mjs"),
337411
- "split-compare": () => import("./SplitCompareDialog-1e678e69.mjs"),
337412
- "quad-compare": () => import("./QuadCompareDialog-3d6eaf0c.mjs")
337398
+ measurement: () => import("./MeasurementDialog-ebda57e6.mjs"),
337399
+ basemap: () => import("./BasemapPanel-aa284bf3.mjs"),
337400
+ print: () => import("./MapPrintDialog-2e5a22e7.mjs"),
337401
+ "layer-panel": () => import("./LayerPanel-88983648.mjs"),
337402
+ coordinate: () => import("./CoordinateLocationDialog-6c0a6b23.mjs"),
337403
+ "region-navigation": () => import("./RegionNavigationDialog-549597e1.mjs"),
337404
+ "my-markers": () => import("./MyMarkersDialog-1f851036.mjs"),
337405
+ "view-bookmarks": () => import("./ViewBookmarksDialog-10b5fe14.mjs"),
337406
+ "map-drawing": () => import("./index-b9d6884a.mjs"),
337407
+ "filter-panel": () => import("./FilterPanel-b91325ac.mjs"),
337408
+ "swipe-compare": () => import("./SwipeCompareDialog-374b9865.mjs"),
337409
+ "split-compare": () => import("./SplitCompareDialog-9bcce145.mjs"),
337410
+ "quad-compare": () => import("./QuadCompareDialog-8f624242.mjs")
337413
337411
  };
337414
337412
  const _DialogRegistry = class _DialogRegistry {
337415
337413
  constructor() {
@@ -337880,6 +337878,7 @@ class TiandituSearchApi {
337880
337878
  * @param options 搜索选项
337881
337879
  */
337882
337880
  async search(query, options = {}) {
337881
+ var _a2;
337883
337882
  try {
337884
337883
  const {
337885
337884
  maxResults = 10,
@@ -337907,8 +337906,10 @@ class TiandituSearchApi {
337907
337906
  throw new Error(`天地图API请求失败: ${response.status}`);
337908
337907
  }
337909
337908
  const data = await response.json();
337910
- if (data.status !== "200" && data.status !== "0") {
337911
- throw new Error(`天地图API返回错误: ${data.status}`);
337909
+ const isSuccess = data.status === "200" || data.status === "0" || typeof data.status === "object" && ((_a2 = data.status) == null ? void 0 : _a2.infocode) === 1e3;
337910
+ if (!isSuccess) {
337911
+ const errorMessage = typeof data.status === "object" ? `${data.status.cndesc || "未知错误"} (${data.status.infocode ?? "unknown"})` : data.status;
337912
+ throw new Error(`天地图API返回错误: ${errorMessage}`);
337912
337913
  }
337913
337914
  return this.transformResults(data, type);
337914
337915
  } catch (error2) {
@@ -338075,6 +338076,20 @@ class TiandituSearchApi {
338075
338076
  }
338076
338077
  }
338077
338078
  const tiandituSearchApi = new TiandituSearchApi();
338079
+ class MapSearchError extends Error {
338080
+ constructor(options) {
338081
+ super(options.message);
338082
+ __publicField(this, "code");
338083
+ __publicField(this, "userMessage");
338084
+ __publicField(this, "provider");
338085
+ __publicField(this, "cause");
338086
+ this.name = "MapSearchError";
338087
+ this.code = options.code;
338088
+ this.userMessage = options.userMessage;
338089
+ this.provider = options.provider;
338090
+ this.cause = options.cause;
338091
+ }
338092
+ }
338078
338093
  class MapSearchService {
338079
338094
  constructor(config, deps) {
338080
338095
  __publicField(this, "config");
@@ -338128,7 +338143,7 @@ class MapSearchService {
338128
338143
  return results;
338129
338144
  } catch (error2) {
338130
338145
  console.error("搜索失败:", error2);
338131
- return [];
338146
+ throw this.createSearchError(query, error2);
338132
338147
  }
338133
338148
  }
338134
338149
  /**
@@ -338243,7 +338258,7 @@ class MapSearchService {
338243
338258
  async searchTianditu(query) {
338244
338259
  try {
338245
338260
  const results = await tiandituSearchApi.search(query, {
338246
- ...this.config,
338261
+ ...this.getTiandituSearchOptions(),
338247
338262
  maxResults: this.config.maxResults || 10,
338248
338263
  type: this.config.type || "all"
338249
338264
  });
@@ -338253,6 +338268,111 @@ class MapSearchService {
338253
338268
  throw error2;
338254
338269
  }
338255
338270
  }
338271
+ getTiandituSearchOptions() {
338272
+ const {
338273
+ enabled: _enabled,
338274
+ position: _position,
338275
+ placeholder: _placeholder,
338276
+ provider: _provider,
338277
+ apiKey: _apiKey,
338278
+ customApi: _customApi,
338279
+ layerSearch: _layerSearch,
338280
+ maxResults: _maxResults,
338281
+ showHistory: _showHistory,
338282
+ enableStorage: _enableStorage,
338283
+ searchDelay: _searchDelay,
338284
+ minSearchLength: _minSearchLength,
338285
+ messages: _messages,
338286
+ resultStyle: _resultStyle,
338287
+ onSearch: _onSearch,
338288
+ onSelect: _onSelect,
338289
+ customSearchFn: _customSearchFn,
338290
+ ...tiandituOptions
338291
+ } = this.config;
338292
+ return tiandituOptions;
338293
+ }
338294
+ createSearchError(query, error2) {
338295
+ var _a2;
338296
+ if (error2 instanceof MapSearchError) {
338297
+ return error2;
338298
+ }
338299
+ const provider = this.getResolvedProvider();
338300
+ const code = this.inferSearchErrorCode(error2);
338301
+ const technicalMessage = error2 instanceof Error ? error2.message : "搜索服务发生未知错误";
338302
+ const userMessage = this.resolveMessage((_a2 = this.config.messages) == null ? void 0 : _a2.searchFailed, {
338303
+ query,
338304
+ provider,
338305
+ error: error2,
338306
+ code
338307
+ }) || this.getDefaultSearchFailedMessage(provider, code);
338308
+ return new MapSearchError({
338309
+ code,
338310
+ message: technicalMessage,
338311
+ userMessage,
338312
+ provider,
338313
+ cause: error2
338314
+ });
338315
+ }
338316
+ inferSearchErrorCode(error2) {
338317
+ if (error2 instanceof MapSearchError) {
338318
+ return error2.code;
338319
+ }
338320
+ if (error2 instanceof TypeError) {
338321
+ return "network_error";
338322
+ }
338323
+ if (!(error2 instanceof Error)) {
338324
+ return "unknown_error";
338325
+ }
338326
+ const message = error2.message.toLowerCase();
338327
+ if (message.includes("未配置") || message.includes("not configured")) {
338328
+ return "config_error";
338329
+ }
338330
+ if (message.includes("failed to fetch") || message.includes("networkerror") || message.includes("网络")) {
338331
+ return "network_error";
338332
+ }
338333
+ if (message.includes("http error") || message.includes("请求失败") || /^http\s\d+/.test(message)) {
338334
+ return "http_error";
338335
+ }
338336
+ if (message.includes("api错误") || message.includes("返回错误") || message.includes("业务错误")) {
338337
+ return "api_error";
338338
+ }
338339
+ return "unknown_error";
338340
+ }
338341
+ getResolvedProvider() {
338342
+ return this.config.provider || "tianditu";
338343
+ }
338344
+ getDefaultSearchFailedMessage(provider, code) {
338345
+ const providerLabel = this.getProviderLabel(provider);
338346
+ switch (code) {
338347
+ case "config_error":
338348
+ return `${providerLabel}未完成配置,请联系管理员`;
338349
+ case "http_error":
338350
+ return `${providerLabel}服务连接失败,请稍后重试`;
338351
+ case "api_error":
338352
+ return `${providerLabel}返回业务错误,请调整关键词后重试`;
338353
+ case "network_error":
338354
+ return `网络连接异常,无法访问${providerLabel}`;
338355
+ default:
338356
+ return `${providerLabel}搜索暂不可用,请稍后重试`;
338357
+ }
338358
+ }
338359
+ getProviderLabel(provider) {
338360
+ const labelMap = {
338361
+ baidu: "百度地图搜索服务",
338362
+ amap: "高德地图搜索服务",
338363
+ google: "Google 地图搜索服务",
338364
+ tianditu: "天地图搜索服务",
338365
+ custom: "自定义搜索服务",
338366
+ layer: "图层搜索服务"
338367
+ };
338368
+ return labelMap[provider];
338369
+ }
338370
+ resolveMessage(resolver, context) {
338371
+ if (!resolver) {
338372
+ return void 0;
338373
+ }
338374
+ return typeof resolver === "function" ? resolver(context) : resolver;
338375
+ }
338256
338376
  /**
338257
338377
  * 自定义API搜索
338258
338378
  */
@@ -338597,6 +338717,11 @@ const defaultSearchConfig = {
338597
338717
  showHistory: true,
338598
338718
  searchDelay: 300,
338599
338719
  minSearchLength: 2,
338720
+ messages: {
338721
+ historyTitle: "搜索历史",
338722
+ clearHistory: "清除",
338723
+ resultsTitle: "搜索结果"
338724
+ },
338600
338725
  resultStyle: {
338601
338726
  markerColor: "#409eff",
338602
338727
  markerSize: 20,
@@ -338606,6 +338731,7 @@ const defaultSearchConfig = {
338606
338731
  };
338607
338732
  const searchService = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
338608
338733
  __proto__: null,
338734
+ MapSearchError,
338609
338735
  MapSearchService,
338610
338736
  defaultSearchConfig
338611
338737
  }, Symbol.toStringTag, { value: "Module" }));
@@ -338619,18 +338745,18 @@ const _hoisted_4$h = { class: "section-title" };
338619
338745
  const _hoisted_5$f = ["onClick"];
338620
338746
  const _hoisted_6$b = { class: "item-content" };
338621
338747
  const _hoisted_7$a = { class: "item-name" };
338622
- const _hoisted_8$9 = { class: "item-address" };
338623
- const _hoisted_9$9 = {
338748
+ const _hoisted_8$a = { class: "item-address" };
338749
+ const _hoisted_9$a = {
338624
338750
  key: 1,
338625
338751
  class: "search-section"
338626
338752
  };
338627
- const _hoisted_10$9 = {
338753
+ const _hoisted_10$a = {
338628
338754
  key: 0,
338629
338755
  class: "section-title"
338630
338756
  };
338631
- const _hoisted_11$7 = { class: "result-count" };
338632
- const _hoisted_12$5 = ["onClick"];
338633
- const _hoisted_13$5 = { class: "item-content" };
338757
+ const _hoisted_11$8 = { class: "result-count" };
338758
+ const _hoisted_12$6 = ["onClick"];
338759
+ const _hoisted_13$6 = { class: "item-content" };
338634
338760
  const _hoisted_14$3 = ["innerHTML"];
338635
338761
  const _hoisted_15$2 = ["innerHTML"];
338636
338762
  const _hoisted_16$2 = {
@@ -338642,6 +338768,10 @@ const _hoisted_17$2 = {
338642
338768
  class: "item-confidence"
338643
338769
  };
338644
338770
  const _hoisted_18$2 = {
338771
+ key: 0,
338772
+ class: "search-error"
338773
+ };
338774
+ const _hoisted_19$2 = {
338645
338775
  key: 0,
338646
338776
  class: "no-results"
338647
338777
  };
@@ -338658,10 +338788,15 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338658
338788
  enableStorage: false,
338659
338789
  // 默认禁用存储
338660
338790
  searchDelay: 300,
338661
- minSearchLength: 2
338791
+ minSearchLength: 2,
338792
+ messages: {
338793
+ historyTitle: "搜索历史",
338794
+ clearHistory: "清除",
338795
+ resultsTitle: "搜索结果"
338796
+ }
338662
338797
  }) }
338663
338798
  },
338664
- emits: ["search", "select", "clear"],
338799
+ emits: ["search", "select", "clear", "search-error"],
338665
338800
  setup(__props, { expose: __expose, emit: __emit }) {
338666
338801
  const props = __props;
338667
338802
  const emit = __emit;
@@ -338677,12 +338812,52 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338677
338812
  const showResults = ref(false);
338678
338813
  const selectedIndex = ref(-1);
338679
338814
  const searchTimer = ref(null);
338815
+ const searchErrorMessage = ref("");
338816
+ const searchErrorCode = ref("");
338680
338817
  const position2 = computed(() => props.config.position || "top-left");
338681
338818
  const placeholder = computed(() => props.config.placeholder || "搜索地点...");
338682
338819
  const maxResults = computed(() => props.config.maxResults || 10);
338683
338820
  const showHistory = computed(() => props.config.showHistory !== false);
338684
338821
  const searchDelay = computed(() => props.config.searchDelay || 300);
338685
338822
  const minSearchLength = computed(() => props.config.minSearchLength || 2);
338823
+ const historyTitleText = computed(
338824
+ () => {
338825
+ var _a2;
338826
+ return resolveMessage((_a2 = props.config.messages) == null ? void 0 : _a2.historyTitle, {}, "搜索历史");
338827
+ }
338828
+ );
338829
+ const clearHistoryText = computed(
338830
+ () => {
338831
+ var _a2;
338832
+ return resolveMessage((_a2 = props.config.messages) == null ? void 0 : _a2.clearHistory, {}, "清除");
338833
+ }
338834
+ );
338835
+ const resultsTitleText = computed(
338836
+ () => {
338837
+ var _a2;
338838
+ return resolveMessage(
338839
+ (_a2 = props.config.messages) == null ? void 0 : _a2.resultsTitle,
338840
+ {
338841
+ query: searchQuery.value,
338842
+ count: searchResults.value.length
338843
+ },
338844
+ "搜索结果"
338845
+ );
338846
+ }
338847
+ );
338848
+ const noResultsText = computed(
338849
+ () => {
338850
+ var _a2;
338851
+ return resolveMessage(
338852
+ (_a2 = props.config.messages) == null ? void 0 : _a2.noResults,
338853
+ {
338854
+ query: searchQuery.value,
338855
+ provider: props.config.provider
338856
+ },
338857
+ getDefaultNoResultsMessage(props.config.provider || "tianditu")
338858
+ );
338859
+ }
338860
+ );
338686
338861
  const displayResults = computed(() => {
338687
338862
  return searchResults.value.slice(0, maxResults.value);
338688
338863
  });
@@ -338696,15 +338871,65 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338696
338871
  }
338697
338872
  return count2;
338698
338873
  });
338874
+ const resolveMessage = (resolver, context, fallback) => {
338875
+ if (!resolver) {
338876
+ return fallback;
338877
+ }
338878
+ return typeof resolver === "function" ? resolver(context) : resolver;
338879
+ };
338880
+ const getProviderLabel = (provider) => {
338881
+ const labelMap = {
338882
+ baidu: "百度地图",
338883
+ amap: "高德地图",
338884
+ google: "Google 地图",
338885
+ tianditu: "天地图",
338886
+ custom: "自定义搜索服务",
338887
+ layer: "图层搜索"
338888
+ };
338889
+ return labelMap[provider];
338890
+ };
338891
+ const getDefaultNoResultsMessage = (provider) => {
338892
+ switch (provider) {
338893
+ case "baidu":
338894
+ return "百度地图未找到相关地点,请尝试更换关键词";
338895
+ case "amap":
338896
+ return "高德地图未找到相关地点,请尝试更换关键词";
338897
+ case "google":
338898
+ return "Google 地图未找到相关地点,请尝试更换关键词";
338899
+ case "custom":
338900
+ return "自定义搜索服务未返回结果";
338901
+ case "layer":
338902
+ return "当前图层中未找到匹配结果";
338903
+ default:
338904
+ return "天地图未找到相关地点,请尝试补充行政区或 POI 名称";
338905
+ }
338906
+ };
338907
+ const normalizeSearchError = (error2) => {
338908
+ if (error2 instanceof MapSearchError) {
338909
+ return error2;
338910
+ }
338911
+ const provider = props.config.provider || "tianditu";
338912
+ return new MapSearchError({
338913
+ code: "unknown_error",
338914
+ message: error2 instanceof Error ? error2.message : "搜索服务发生未知错误",
338915
+ userMessage: `${getProviderLabel(provider)}搜索暂不可用,请稍后重试`,
338916
+ provider,
338917
+ cause: error2
338918
+ });
338919
+ };
338699
338920
  const handleSearchInput = (value) => {
338700
338921
  if (searchTimer.value) {
338701
338922
  clearTimeout(searchTimer.value);
338702
338923
  }
338703
338924
  if (value.length >= minSearchLength.value) {
338925
+ searchErrorMessage.value = "";
338926
+ searchErrorCode.value = "";
338704
338927
  searchTimer.value = setTimeout(() => {
338705
338928
  performSearch(value);
338706
338929
  }, searchDelay.value);
338707
338930
  } else {
338931
+ searchErrorMessage.value = "";
338932
+ searchErrorCode.value = "";
338708
338933
  searchResults.value = [];
338709
338934
  showResults.value = value.length === 0 && showHistory.value;
338710
338935
  }
@@ -338752,6 +338977,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338752
338977
  selectedIndex.value = -1;
338753
338978
  searchQuery.value = "";
338754
338979
  searchResults.value = [];
338980
+ searchErrorMessage.value = "";
338981
+ searchErrorCode.value = "";
338755
338982
  };
338756
338983
  const getSelectableItems = () => {
338757
338984
  const items = [];
@@ -338764,11 +338991,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338764
338991
  return items;
338765
338992
  };
338766
338993
  const performSearch = async (query) => {
338994
+ var _a2;
338767
338995
  if (!query || query.length < minSearchLength.value) {
338768
338996
  return;
338769
338997
  }
338770
338998
  isLoading.value = true;
338771
338999
  showResults.value = true;
339000
+ searchErrorMessage.value = "";
339001
+ searchErrorCode.value = "";
338772
339002
  try {
338773
339003
  const results = await searchService2.search(query);
338774
339004
  searchResults.value = results;
@@ -338776,6 +339006,19 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338776
339006
  } catch (error2) {
338777
339007
  console.error("搜索失败:", error2);
338778
339008
  searchResults.value = [];
339009
+ const normalizedError = normalizeSearchError(error2);
339010
+ searchErrorCode.value = normalizedError.code;
339011
+ searchErrorMessage.value = error2 instanceof MapSearchError ? normalizedError.userMessage : resolveMessage(
339012
+ (_a2 = props.config.messages) == null ? void 0 : _a2.searchFailed,
339013
+ {
339014
+ query,
339015
+ provider: normalizedError.provider,
339016
+ error: error2,
339017
+ code: normalizedError.code
339018
+ },
339019
+ normalizedError.userMessage
339020
+ );
339021
+ emit("search-error", normalizedError);
338779
339022
  } finally {
338780
339023
  isLoading.value = false;
338781
339024
  }
@@ -338785,7 +339028,6 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338785
339028
  showResults.value = false;
338786
339029
  selectedIndex.value = -1;
338787
339030
  addToHistory(result);
338788
- debugger;
338789
339031
  emit("select", result);
338790
339032
  };
338791
339033
  const selectHistoryItem = (item) => {
@@ -338848,12 +339090,16 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338848
339090
  const updateResults = (results) => {
338849
339091
  searchResults.value = results;
338850
339092
  isLoading.value = false;
339093
+ searchErrorMessage.value = "";
339094
+ searchErrorCode.value = "";
338851
339095
  };
338852
339096
  const clearResults = () => {
338853
339097
  searchResults.value = [];
338854
339098
  searchQuery.value = "";
338855
339099
  showResults.value = false;
338856
339100
  selectedIndex.value = -1;
339101
+ searchErrorMessage.value = "";
339102
+ searchErrorCode.value = "";
338857
339103
  emit("clear");
338858
339104
  };
338859
339105
  onMounted(() => {
@@ -338871,6 +339117,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338871
339117
  (newConfig) => {
338872
339118
  searchService2.updateConfig(newConfig);
338873
339119
  searchResults.value = [];
339120
+ searchErrorMessage.value = "";
339121
+ searchErrorCode.value = "";
338874
339122
  selectedIndex.value = -1;
338875
339123
  console.log("MapSearch配置已更新:", newConfig);
338876
339124
  },
@@ -338965,15 +339213,15 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338965
339213
  showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_3$j, [
338966
339214
  renderSlot(_ctx.$slots, "history-title", { clearHistory }, () => [
338967
339215
  createElementVNode("div", _hoisted_4$h, [
338968
- _cache[2] || (_cache[2] = createElementVNode("span", null, "搜索历史", -1)),
339216
+ createElementVNode("span", null, toDisplayString(historyTitleText.value), 1),
338969
339217
  createVNode$1(unref(ElButton), {
338970
339218
  link: "",
338971
339219
  size: "small",
338972
339220
  onClick: clearHistory
338973
339221
  }, {
338974
- default: withCtx(() => [..._cache[1] || (_cache[1] = [
338975
- createTextVNode(" 清除 ", -1)
338976
- ])]),
339222
+ default: withCtx(() => [
339223
+ createTextVNode(toDisplayString(clearHistoryText.value), 1)
339224
+ ]),
338977
339225
  _: 1
338978
339226
  })
338979
339227
  ])
@@ -338998,20 +339246,20 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
338998
339246
  }),
338999
339247
  createElementVNode("div", _hoisted_6$b, [
339000
339248
  createElementVNode("div", _hoisted_7$a, toDisplayString(item.name), 1),
339001
- createElementVNode("div", _hoisted_8$9, toDisplayString(item.address), 1)
339249
+ createElementVNode("div", _hoisted_8$a, toDisplayString(item.address), 1)
339002
339250
  ])
339003
339251
  ], 10, _hoisted_5$f)
339004
339252
  ]);
339005
339253
  }), 128))
339006
339254
  ])) : createCommentVNode("", true),
339007
- searchResults.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_9$9, [
339255
+ searchResults.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_9$a, [
339008
339256
  renderSlot(_ctx.$slots, "results-title", {
339009
339257
  searchQuery: searchQuery.value,
339010
339258
  resultsCount: searchResults.value.length
339011
339259
  }, () => [
339012
- searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_10$9, [
339013
- _cache[3] || (_cache[3] = createElementVNode("span", null, "搜索结果", -1)),
339014
- createElementVNode("span", _hoisted_11$7, "(" + toDisplayString(searchResults.value.length) + ")", 1)
339260
+ searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_10$a, [
339261
+ createElementVNode("span", null, toDisplayString(resultsTitleText.value), 1),
339262
+ createElementVNode("span", _hoisted_11$8, "(" + toDisplayString(searchResults.value.length) + ")", 1)
339015
339263
  ])) : createCommentVNode("", true)
339016
339264
  ]),
339017
339265
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayResults.value, (result, index2) => {
@@ -339036,7 +339284,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
339036
339284
  ]),
339037
339285
  _: 1
339038
339286
  }),
339039
- createElementVNode("div", _hoisted_13$5, [
339287
+ createElementVNode("div", _hoisted_13$6, [
339040
339288
  createElementVNode("div", {
339041
339289
  class: "item-name",
339042
339290
  innerHTML: highlightText(result.name, searchQuery.value)
@@ -339048,23 +339296,39 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
339048
339296
  result.type ? (openBlock(), createElementBlock("div", _hoisted_16$2, toDisplayString(result.type), 1)) : createCommentVNode("", true)
339049
339297
  ]),
339050
339298
  result.confidence ? (openBlock(), createElementBlock("div", _hoisted_17$2, toDisplayString(Math.round(result.confidence * 100)) + "% ", 1)) : createCommentVNode("", true)
339051
- ], 10, _hoisted_12$5)
339299
+ ], 10, _hoisted_12$6)
339052
339300
  ]);
339053
339301
  }), 128))
339054
339302
  ])) : createCommentVNode("", true),
339303
+ renderSlot(_ctx.$slots, "search-error", {
339304
+ searchQuery: searchQuery.value,
339305
+ errorMessage: searchErrorMessage.value,
339306
+ errorCode: searchErrorCode.value,
339307
+ isLoading: isLoading.value
339308
+ }, () => [
339309
+ searchErrorMessage.value && !isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_18$2, [
339310
+ createVNode$1(unref(ElIcon), null, {
339311
+ default: withCtx(() => [
339312
+ createVNode$1(unref(InfoFilled))
339313
+ ]),
339314
+ _: 1
339315
+ }),
339316
+ createElementVNode("span", null, toDisplayString(searchErrorMessage.value), 1)
339317
+ ])) : createCommentVNode("", true)
339318
+ ]),
339055
339319
  renderSlot(_ctx.$slots, "no-results", {
339056
339320
  searchQuery: searchQuery.value,
339057
339321
  searchResults: searchResults.value,
339058
339322
  isLoading: isLoading.value
339059
339323
  }, () => [
339060
- searchQuery.value && searchResults.value.length === 0 && !isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_18$2, [
339324
+ searchQuery.value && searchResults.value.length === 0 && !isLoading.value && !searchErrorMessage.value ? (openBlock(), createElementBlock("div", _hoisted_19$2, [
339061
339325
  createVNode$1(unref(ElIcon), null, {
339062
339326
  default: withCtx(() => [
339063
339327
  createVNode$1(unref(InfoFilled))
339064
339328
  ]),
339065
339329
  _: 1
339066
339330
  }),
339067
- _cache[4] || (_cache[4] = createElementVNode("span", null, "未找到相关结果", -1))
339331
+ createElementVNode("span", null, toDisplayString(noResultsText.value), 1)
339068
339332
  ])) : createCommentVNode("", true)
339069
339333
  ])
339070
339334
  ])
@@ -339208,6 +339472,24 @@ const _hoisted_7$9 = {
339208
339472
  key: 6,
339209
339473
  class: "control-section"
339210
339474
  };
339475
+ const _hoisted_8$9 = { class: "drawing-menu-panel-content" };
339476
+ const _hoisted_9$9 = { class: "drawing-tool-list" };
339477
+ const _hoisted_10$9 = {
339478
+ key: 0,
339479
+ class: "drawing-menu-divider"
339480
+ };
339481
+ const _hoisted_11$7 = {
339482
+ key: 1,
339483
+ class: "drawing-toggle-row"
339484
+ };
339485
+ const _hoisted_12$5 = {
339486
+ key: 7,
339487
+ class: "control-divider"
339488
+ };
339489
+ const _hoisted_13$5 = {
339490
+ key: 8,
339491
+ class: "control-section"
339492
+ };
339211
339493
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
339212
339494
  __name: "OlControlPanel",
339213
339495
  props: {
@@ -339220,8 +339502,10 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339220
339502
  bottomOffset: {},
339221
339503
  viewBookmarks: {}
339222
339504
  },
339223
- setup(__props, { expose: __expose }) {
339505
+ emits: ["drawing-complete"],
339506
+ setup(__props, { expose: __expose, emit: __emit }) {
339224
339507
  const props = __props;
339508
+ const emit = __emit;
339225
339509
  const map2 = inject("map");
339226
339510
  const mapManager = inject("mapManager");
339227
339511
  const overviewMapUtil = createOverviewMapUtil();
@@ -339231,7 +339515,37 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339231
339515
  const currentZoom = ref(10);
339232
339516
  const minZoom = ref(3);
339233
339517
  const maxZoom = ref(18);
339518
+ const isDrawingMenuOpen = ref(false);
339519
+ const continuousDrawing = ref(false);
339520
+ const activeDrawingMode = ref("none");
339521
+ const DEFAULT_DRAWING_TOOLS = [
339522
+ "rectangle",
339523
+ "polygon",
339524
+ "circle",
339525
+ "line",
339526
+ "point"
339527
+ ];
339528
+ const drawingToolLabels = {
339529
+ point: "绘制点",
339530
+ line: "绘制线",
339531
+ polygon: "绘制多边形",
339532
+ circle: "绘制圆形",
339533
+ rectangle: "绘制矩形"
339534
+ };
339535
+ const geoJsonFormat = new GeoJSON$2();
339536
+ let boundDrawingManager = null;
339537
+ let boundDrawingEndHandler = null;
339538
+ let boundModeChangeHandler = null;
339234
339539
  const currentMap = computed(() => map2 == null ? void 0 : map2.value);
339540
+ const popoverPlacement = computed(() => {
339541
+ const isRight = props.position.includes("right");
339542
+ const isBottom = props.position.includes("bottom");
339543
+ if (props.direction === "vertical") {
339544
+ return isRight ? "left" : "right";
339545
+ } else {
339546
+ return isBottom ? "top" : "bottom";
339547
+ }
339548
+ });
339235
339549
  const positionClasses = computed(() => {
339236
339550
  const basePositions = {
339237
339551
  "top-left": "top-4 left-4",
@@ -339315,10 +339629,55 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339315
339629
  const tools = props.config.tools;
339316
339630
  return !!((tools == null ? void 0 : tools.viewBookmarks) || props.config.viewBookmarks);
339317
339631
  });
339632
+ const drawingControlConfig = computed(() => {
339633
+ var _a2;
339634
+ const rawConfig = ((_a2 = props.config.tools) == null ? void 0 : _a2.drawing) ?? props.config.drawing;
339635
+ if (rawConfig === false) {
339636
+ return {
339637
+ enabled: false,
339638
+ trigger: "hover",
339639
+ continuous: false,
339640
+ showContinuousToggle: true,
339641
+ tools: DEFAULT_DRAWING_TOOLS,
339642
+ onDrawEnd: void 0
339643
+ };
339644
+ }
339645
+ if (rawConfig === true || rawConfig === void 0) {
339646
+ return {
339647
+ enabled: rawConfig === true,
339648
+ trigger: "hover",
339649
+ continuous: false,
339650
+ showContinuousToggle: true,
339651
+ tools: DEFAULT_DRAWING_TOOLS,
339652
+ onDrawEnd: void 0
339653
+ };
339654
+ }
339655
+ const config = rawConfig;
339656
+ const tools = (config.tools || DEFAULT_DRAWING_TOOLS).filter(
339657
+ (tool) => DEFAULT_DRAWING_TOOLS.includes(tool)
339658
+ );
339659
+ return {
339660
+ enabled: config.enabled !== false,
339661
+ trigger: config.trigger || "hover",
339662
+ continuous: config.continuous ?? false,
339663
+ showContinuousToggle: config.showContinuousToggle !== false,
339664
+ tools: tools.length > 0 ? Array.from(new Set(tools)) : DEFAULT_DRAWING_TOOLS,
339665
+ onDrawEnd: config.onDrawEnd
339666
+ };
339667
+ });
339668
+ const isDrawingEnabled = computed(() => drawingControlConfig.value.enabled);
339669
+ const isDrawingActive = computed(() => activeDrawingMode.value !== "none");
339318
339670
  const hasOtherTools = computed(() => {
339319
339671
  const tools = props.config.tools;
339320
339672
  return !!((tools == null ? void 0 : tools.fullScreen) || props.config.fullScreen || (tools == null ? void 0 : tools.location) || props.config.location || isLayerPanelEnabled.value || isViewBookmarksEnabled.value || (tools == null ? void 0 : tools.overviewMap) || props.config.overviewMap || (tools == null ? void 0 : tools.zoomToExtent) || props.config.zoomToExtent);
339321
339673
  });
339674
+ watch(
339675
+ drawingControlConfig,
339676
+ (config) => {
339677
+ continuousDrawing.value = config.continuous;
339678
+ },
339679
+ { immediate: true }
339680
+ );
339322
339681
  const initOverviewMap = () => {
339323
339682
  const tools = props.config.tools || {};
339324
339683
  const rawConfig = tools.overviewMap ?? props.config.overviewMap;
@@ -339488,6 +339847,83 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339488
339847
  mapManager.value.clearAll();
339489
339848
  }
339490
339849
  };
339850
+ const buildDrawingResult = (drawing) => {
339851
+ const drawingJson = drawing.toJSON();
339852
+ const feature = drawing.getFeature();
339853
+ let geojson = null;
339854
+ if (feature && currentMap.value) {
339855
+ try {
339856
+ geojson = geoJsonFormat.writeFeatureObject(feature, {
339857
+ featureProjection: currentMap.value.getView().getProjection(),
339858
+ dataProjection: "EPSG:4326"
339859
+ });
339860
+ } catch (error2) {
339861
+ console.warn("绘制结果转 GeoJSON 失败:", error2);
339862
+ }
339863
+ }
339864
+ return {
339865
+ id: drawing.getId(),
339866
+ type: drawing.getType(),
339867
+ name: drawing.getName(),
339868
+ coordinates: drawingJson.coordinates,
339869
+ properties: drawingJson.properties || {},
339870
+ style: drawingJson.style || {},
339871
+ config: drawingJson.config || {},
339872
+ geojson,
339873
+ drawing,
339874
+ feature,
339875
+ source: "controls"
339876
+ };
339877
+ };
339878
+ const cleanupDrawingListeners = () => {
339879
+ if (boundDrawingManager && boundDrawingEndHandler && boundModeChangeHandler) {
339880
+ boundDrawingManager.off("drawing-end", boundDrawingEndHandler);
339881
+ boundDrawingManager.off("mode-change", boundModeChangeHandler);
339882
+ }
339883
+ boundDrawingManager = null;
339884
+ boundDrawingEndHandler = null;
339885
+ boundModeChangeHandler = null;
339886
+ activeDrawingMode.value = "none";
339887
+ };
339888
+ const bindDrawingListeners = (drawingManager) => {
339889
+ cleanupDrawingListeners();
339890
+ if (!drawingManager)
339891
+ return;
339892
+ boundDrawingManager = drawingManager;
339893
+ activeDrawingMode.value = drawingManager.getMode();
339894
+ boundDrawingEndHandler = (drawing) => {
339895
+ var _a2, _b2;
339896
+ const result = buildDrawingResult(drawing);
339897
+ (_b2 = (_a2 = drawingControlConfig.value).onDrawEnd) == null ? void 0 : _b2.call(_a2, result);
339898
+ emit("drawing-complete", result);
339899
+ };
339900
+ boundModeChangeHandler = (mode) => {
339901
+ activeDrawingMode.value = mode;
339902
+ };
339903
+ drawingManager.on("drawing-end", boundDrawingEndHandler);
339904
+ drawingManager.on("mode-change", boundModeChangeHandler);
339905
+ };
339906
+ const startQuickDrawing = (tool) => {
339907
+ var _a2;
339908
+ const drawingManager = (_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager();
339909
+ if (!drawingManager) {
339910
+ console.warn("DrawingManager not found");
339911
+ return;
339912
+ }
339913
+ drawingManager.setContinuousDrawing(continuousDrawing.value);
339914
+ drawingManager.setMode(tool, {
339915
+ allowContinuousDrawing: continuousDrawing.value
339916
+ });
339917
+ isDrawingMenuOpen.value = false;
339918
+ };
339919
+ const stopQuickDrawing = () => {
339920
+ var _a2;
339921
+ const drawingManager = (_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager();
339922
+ if (!drawingManager)
339923
+ return;
339924
+ drawingManager.setMode("none");
339925
+ isDrawingMenuOpen.value = false;
339926
+ };
339491
339927
  const zoomToExtent = () => {
339492
339928
  var _a2;
339493
339929
  if (currentMap.value) {
@@ -339531,6 +339967,16 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339531
339967
  },
339532
339968
  { immediate: true }
339533
339969
  );
339970
+ watch(
339971
+ () => {
339972
+ var _a2;
339973
+ return ((_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager()) || null;
339974
+ },
339975
+ (drawingManager) => {
339976
+ bindDrawingListeners(drawingManager);
339977
+ },
339978
+ { immediate: true }
339979
+ );
339534
339980
  const handleFullscreenChange = () => {
339535
339981
  isFullscreen.value = !!document.fullscreenElement;
339536
339982
  };
@@ -339542,6 +339988,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339542
339988
  var _a2;
339543
339989
  document.removeEventListener("fullscreenchange", handleFullscreenChange);
339544
339990
  overviewMapUtil.destroy();
339991
+ cleanupDrawingListeners();
339545
339992
  if (currentMap.value) {
339546
339993
  currentMap.value.un("moveend", updateScale);
339547
339994
  (_a2 = currentMap.value.getTargetElement()) == null ? void 0 : _a2.removeEventListener("mousemove", updateMousePosition);
@@ -339572,7 +340019,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339572
340019
  isMinZoom
339573
340020
  });
339574
340021
  return (_ctx, _cache) => {
339575
- var _a2, _b2, _c2, _d, _e2, _f, _g, _h, _i2, _j, _k, _l, _m, _n2, _o2, _p;
340022
+ var _a2, _b2, _c2, _d, _e2, _f, _g, _h, _i2, _j, _k, _l, _m, _n2, _o2, _p, _q, _r2;
339576
340023
  const _component_el_slider = resolveComponent("el-slider");
339577
340024
  return openBlock(), createElementBlock("div", {
339578
340025
  class: normalizeClass(["mapcontrols absolute z-1 pointer-events-none select-none animate-fade-in", positionClasses.value]),
@@ -339811,8 +340258,119 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339811
340258
  _: 1
339812
340259
  }, 8, ["title"])) : createCommentVNode("", true)
339813
340260
  ])) : createCommentVNode("", true),
339814
- (((_m = _ctx.config.tools) == null ? void 0 : _m.clearAll) || _ctx.config.clearAll) && (hasOtherTools.value || ((_n2 = _ctx.config.tools) == null ? void 0 : _n2.zoom) || _ctx.config.zoom || ((_o2 = _ctx.config.tools) == null ? void 0 : _o2.rotate) || _ctx.config.rotate) ? (openBlock(), createElementBlock("div", _hoisted_6$a)) : createCommentVNode("", true),
339815
- ((_p = _ctx.config.tools) == null ? void 0 : _p.clearAll) || _ctx.config.clearAll ? (openBlock(), createElementBlock("div", _hoisted_7$9, [
340261
+ isDrawingEnabled.value && (hasOtherTools.value || ((_m = _ctx.config.tools) == null ? void 0 : _m.zoom) || _ctx.config.zoom || ((_n2 = _ctx.config.tools) == null ? void 0 : _n2.rotate) || _ctx.config.rotate) ? (openBlock(), createElementBlock("div", _hoisted_6$a)) : createCommentVNode("", true),
340262
+ isDrawingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_7$9, [
340263
+ createVNode$1(unref(ElPopover), {
340264
+ placement: popoverPlacement.value,
340265
+ trigger: drawingControlConfig.value.trigger === "hover" ? "hover" : "click",
340266
+ visible: isDrawingMenuOpen.value,
340267
+ "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => isDrawingMenuOpen.value = $event),
340268
+ width: 180,
340269
+ "popper-class": "drawing-menu-popover",
340270
+ disabled: !isDrawingEnabled.value
340271
+ }, {
340272
+ reference: withCtx(() => [
340273
+ createVNode$1(unref(ElButton), {
340274
+ class: normalizeClass(["control-btn", { "is-active": isDrawingMenuOpen.value || isDrawingActive.value }]),
340275
+ title: "快捷绘制",
340276
+ size: "small",
340277
+ text: ""
340278
+ }, {
340279
+ default: withCtx(() => [
340280
+ createVNode$1(unref(ElIcon), null, {
340281
+ default: withCtx(() => [
340282
+ createVNode$1(unref(EditPen))
340283
+ ]),
340284
+ _: 1
340285
+ })
340286
+ ]),
340287
+ _: 1
340288
+ }, 8, ["class"])
340289
+ ]),
340290
+ default: withCtx(() => [
340291
+ createElementVNode("div", _hoisted_8$9, [
340292
+ _cache[5] || (_cache[5] = createElementVNode("div", { class: "drawing-menu-title" }, "快捷绘制", -1)),
340293
+ createElementVNode("div", _hoisted_9$9, [
340294
+ (openBlock(true), createElementBlock(Fragment, null, renderList(drawingControlConfig.value.tools, (tool) => {
340295
+ return openBlock(), createBlock(unref(ElTooltip), {
340296
+ key: tool,
340297
+ content: drawingToolLabels[tool],
340298
+ placement: "top",
340299
+ "show-after": 200
340300
+ }, {
340301
+ default: withCtx(() => [
340302
+ createVNode$1(unref(ElButton), {
340303
+ size: "small",
340304
+ text: "",
340305
+ class: normalizeClass(["drawing-tool-btn", { "is-active": activeDrawingMode.value === tool }]),
340306
+ onClick: ($event) => startQuickDrawing(tool)
340307
+ }, {
340308
+ default: withCtx(() => [
340309
+ tool === "point" ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
340310
+ default: withCtx(() => [
340311
+ createVNode$1(unref(Location))
340312
+ ]),
340313
+ _: 1
340314
+ })) : tool === "line" ? (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
340315
+ default: withCtx(() => [
340316
+ createVNode$1(unref(Minus))
340317
+ ]),
340318
+ _: 1
340319
+ })) : tool === "polygon" ? (openBlock(), createBlock(unref(ElIcon), { key: 2 }, {
340320
+ default: withCtx(() => [
340321
+ createVNode$1(unref(Share))
340322
+ ]),
340323
+ _: 1
340324
+ })) : tool === "circle" ? (openBlock(), createBlock(unref(ElIcon), { key: 3 }, {
340325
+ default: withCtx(() => [
340326
+ createVNode$1(unref(CircleCheck))
340327
+ ]),
340328
+ _: 1
340329
+ })) : tool === "rectangle" ? (openBlock(), createBlock(unref(ElIcon), { key: 4 }, {
340330
+ default: withCtx(() => [
340331
+ createVNode$1(unref(FullScreen))
340332
+ ]),
340333
+ _: 1
340334
+ })) : createCommentVNode("", true)
340335
+ ]),
340336
+ _: 2
340337
+ }, 1032, ["class", "onClick"])
340338
+ ]),
340339
+ _: 2
340340
+ }, 1032, ["content"]);
340341
+ }), 128))
340342
+ ]),
340343
+ drawingControlConfig.value.showContinuousToggle || isDrawingActive.value ? (openBlock(), createElementBlock("div", _hoisted_10$9)) : createCommentVNode("", true),
340344
+ drawingControlConfig.value.showContinuousToggle ? (openBlock(), createElementBlock("div", _hoisted_11$7, [
340345
+ createVNode$1(unref(ElCheckbox), {
340346
+ modelValue: continuousDrawing.value,
340347
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => continuousDrawing.value = $event)
340348
+ }, {
340349
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
340350
+ createTextVNode(" 是否连续绘制 ", -1)
340351
+ ])]),
340352
+ _: 1
340353
+ }, 8, ["modelValue"])
340354
+ ])) : createCommentVNode("", true),
340355
+ isDrawingActive.value ? (openBlock(), createBlock(unref(ElButton), {
340356
+ key: 2,
340357
+ size: "small",
340358
+ text: "",
340359
+ class: "drawing-stop-btn",
340360
+ onClick: stopQuickDrawing
340361
+ }, {
340362
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
340363
+ createTextVNode(" 停止绘制 ", -1)
340364
+ ])]),
340365
+ _: 1
340366
+ })) : createCommentVNode("", true)
340367
+ ])
340368
+ ]),
340369
+ _: 1
340370
+ }, 8, ["placement", "trigger", "visible", "disabled"])
340371
+ ])) : createCommentVNode("", true),
340372
+ (((_o2 = _ctx.config.tools) == null ? void 0 : _o2.clearAll) || _ctx.config.clearAll) && (hasOtherTools.value || isDrawingEnabled.value || ((_p = _ctx.config.tools) == null ? void 0 : _p.zoom) || _ctx.config.zoom || ((_q = _ctx.config.tools) == null ? void 0 : _q.rotate) || _ctx.config.rotate) ? (openBlock(), createElementBlock("div", _hoisted_12$5)) : createCommentVNode("", true),
340373
+ ((_r2 = _ctx.config.tools) == null ? void 0 : _r2.clearAll) || _ctx.config.clearAll ? (openBlock(), createElementBlock("div", _hoisted_13$5, [
339816
340374
  createVNode$1(unref(ElButton), {
339817
340375
  class: "control-btn",
339818
340376
  title: "清空绘制内容",
@@ -339836,7 +340394,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
339836
340394
  };
339837
340395
  }
339838
340396
  });
339839
- const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-fdbbb5b4"]]);
340397
+ const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-13e7a909"]]);
339840
340398
  const _hoisted_1$i = {
339841
340399
  key: 0,
339842
340400
  class: "ol-legend-header"
@@ -352437,7 +352995,7 @@ function(t3) {
352437
352995
  */
352438
352996
  function(t3) {
352439
352997
  function e8() {
352440
- return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-dd926512.mjs")).catch(function(t4) {
352998
+ return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-ff0f4147.mjs")).catch(function(t4) {
352441
352999
  return Promise.reject(new Error("Could not load canvg: " + t4));
352442
353000
  }).then(function(t4) {
352443
353001
  return t4.default ? t4.default : t4;
@@ -365126,7 +365684,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
365126
365684
  popupConfig: {},
365127
365685
  enableGeolocation: { type: Boolean, default: true }
365128
365686
  },
365129
- emits: ["map-ready", "map-click", "map-dblclick", "map-contextmenu", "map-move", "zoom-change", "feature-click", "tooltip-show", "tooltip-hide", "layer-change", "measurement-change", "measurement-start", "measurement-end", "measurement-result", "context-menu", "bookmark-action", "marker-action", "tool-action", "search", "search-select", "search-clear", "popup-show", "popup-hide", "popup-close"],
365687
+ emits: ["map-ready", "map-click", "map-dblclick", "map-contextmenu", "map-move", "zoom-change", "feature-click", "tooltip-show", "tooltip-hide", "layer-change", "measurement-change", "measurement-start", "measurement-end", "measurement-result", "context-menu", "bookmark-action", "marker-action", "tool-action", "drawing-complete", "search", "search-select", "search-clear", "popup-show", "popup-hide", "popup-close"],
365130
365688
  setup(__props, { expose: __expose, emit: __emit }) {
365131
365689
  const currentLegends = ref([]);
365132
365690
  const currentLayers = ref([]);
@@ -365988,6 +366546,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
365988
366546
  break;
365989
366547
  }
365990
366548
  };
366549
+ const onDrawingComplete = (result) => {
366550
+ emit("drawing-complete", result);
366551
+ };
365991
366552
  const onPrintAction = (data) => {
365992
366553
  console.log("打印操作:", data);
365993
366554
  switch (data.action) {
@@ -366674,7 +367235,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
366674
367235
  "right-offset": finalControlsConfig.value.rightOffset,
366675
367236
  "top-offset": finalControlsConfig.value.topOffset,
366676
367237
  "bottom-offset": finalControlsConfig.value.bottomOffset,
366677
- "view-bookmarks": props.viewBookmarks
367238
+ "view-bookmarks": props.viewBookmarks,
367239
+ onDrawingComplete
366678
367240
  }, {
366679
367241
  custom: withCtx(({ controls }) => [
366680
367242
  renderSlot(_ctx.$slots, "controls", {
@@ -366811,7 +367373,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
366811
367373
  };
366812
367374
  }
366813
367375
  });
366814
- const OlMap = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-888f37cb"]]);
367376
+ const OlMap = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-847d5f65"]]);
366815
367377
  const Property = {
366816
367378
  ACCURACY: "accuracy",
366817
367379
  ACCURACY_GEOMETRY: "accuracyGeometry",