vue-openlayers-plugin 1.0.91 → 1.0.92

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 (169) hide show
  1. package/lib/{BasemapPanel-97a57e6f.mjs → BasemapPanel-a7640f57.mjs} +68 -22
  2. package/lib/{CoordinateLocationDialog-090ead21.mjs → CoordinateLocationDialog-3fd9613f.mjs} +105 -51
  3. package/lib/{FilterPanel-ac96a573.mjs → FilterPanel-53958140.mjs} +1 -1
  4. package/lib/{MapPrintDialog-a440a6ab.mjs → LayerPanel-02152994.mjs} +1 -1
  5. package/lib/{LayerPanel-f9bbcdc1.mjs → MapPrintDialog-bbf1ccc1.mjs} +1 -1
  6. package/lib/{MeasurementDialog-6ec17375.mjs → MeasurementDialog-4ffa44ae.mjs} +84 -33
  7. package/lib/{MyMarkersDialog-1f9f82ed.mjs → MyMarkersDialog-605a60e2.mjs} +138 -63
  8. package/lib/{RegionNavigationDialog-d21ed4a6.mjs → RegionNavigationDialog-b0b6f86b.mjs} +29 -26
  9. package/lib/{ViewBookmarksDialog-b9fdb1d5.mjs → ViewBookmarksDialog-475f44f3.mjs} +250 -92
  10. package/lib/{index-a081b5c1.mjs → index-30b0d26c.mjs} +1 -1
  11. package/lib/{index-dd63f686.mjs → index-7f38e279.mjs} +3359 -1919
  12. package/lib/{index-cdbb6879.mjs → index-ecd9c14c.mjs} +13 -17
  13. package/lib/{index.es-d367a4fc.mjs → index.es-d464d539.mjs} +1 -1
  14. package/lib/index.esm.js +63 -63
  15. package/lib/index.umd.js +3947 -2128
  16. package/lib/style.css +707 -634
  17. package/package.json +2 -2
  18. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +11 -11
  19. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts.map +1 -1
  20. package/types/src/components/CustomDialog/dialogCache.d.ts.map +1 -1
  21. package/types/src/components/CustomDialog/icons/index.d.ts.map +1 -1
  22. package/types/src/components/CustomDialog/index.d.ts.map +1 -1
  23. package/types/src/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -1
  24. package/types/src/components/OlControlPanel.vue.d.ts +2 -2
  25. package/types/src/components/OlControlPanel.vue.d.ts.map +1 -1
  26. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +1 -1
  27. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -1
  28. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts +1 -1
  29. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts.map +1 -1
  30. package/types/src/components/OlDialogs/DialogManager.d.ts +1 -1
  31. package/types/src/components/OlDialogs/DialogManager.d.ts.map +1 -1
  32. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts +3 -3
  33. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts.map +1 -1
  34. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts +786 -786
  35. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -1
  36. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts +3 -3
  37. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts.map +1 -1
  38. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts +5 -5
  39. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts.map +1 -1
  40. package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts.map +1 -1
  41. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts +2 -2
  42. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts.map +1 -1
  43. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +1 -1
  44. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -1
  45. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts +2 -2
  46. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts.map +1 -1
  47. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts +5 -5
  48. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts.map +1 -1
  49. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts +2 -2
  50. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts.map +1 -1
  51. package/types/src/components/OlDialogs/registry.d.ts.map +1 -1
  52. package/types/src/components/OlDrawToolbar.vue.d.ts +16 -16
  53. package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -1
  54. package/types/src/components/OlLegendPanel.vue.d.ts +1 -1
  55. package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -1
  56. package/types/src/components/OlMapContainer.vue.d.ts +31 -31
  57. package/types/src/components/OlMapContainer.vue.d.ts.map +1 -1
  58. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts +4 -4
  59. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts.map +1 -1
  60. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts +6 -6
  61. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts.map +1 -1
  62. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts +3 -3
  63. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts.map +1 -1
  64. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts +3 -3
  65. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts.map +1 -1
  66. package/types/src/components/OlMapPopup/index.d.ts +1 -1
  67. package/types/src/components/OlMapPopup/index.d.ts.map +1 -1
  68. package/types/src/components/OlMapPopup/types.d.ts +12 -12
  69. package/types/src/components/OlMapPopup/types.d.ts.map +1 -1
  70. package/types/src/components/OlMapSearch.vue.d.ts +3 -3
  71. package/types/src/components/OlMapSearch.vue.d.ts.map +1 -1
  72. package/types/src/components/OlMapTooltip.vue.d.ts +8 -8
  73. package/types/src/components/OlMapTooltip.vue.d.ts.map +1 -1
  74. package/types/src/components/SvgIcon/index.vue.d.ts.map +1 -1
  75. package/types/src/core/EventBus.d.ts.map +1 -1
  76. package/types/src/core/EventManager.d.ts.map +1 -1
  77. package/types/src/core/FeatureHighlightManager.d.ts.map +1 -1
  78. package/types/src/core/GlobalStyleManager.d.ts +1 -1
  79. package/types/src/core/LayerConfigManager.d.ts.map +1 -1
  80. package/types/src/core/LayerManager.d.ts +2 -2
  81. package/types/src/core/LayerManager.d.ts.map +1 -1
  82. package/types/src/core/LayerTreeManager.d.ts +1 -1
  83. package/types/src/core/LayerTreeManager.d.ts.map +1 -1
  84. package/types/src/core/MapManager.d.ts +15 -15
  85. package/types/src/core/MapManager.d.ts.map +1 -1
  86. package/types/src/core/MarkerDrawingAdapter.d.ts.map +1 -1
  87. package/types/src/core/PluginManager.d.ts +1 -1
  88. package/types/src/core/PluginManager.d.ts.map +1 -1
  89. package/types/src/core/PopupManager.d.ts.map +1 -1
  90. package/types/src/core/SearchMarkerManager.d.ts.map +1 -1
  91. package/types/src/core/TooltipHelper.d.ts +1 -1
  92. package/types/src/core/TooltipHelper.d.ts.map +1 -1
  93. package/types/src/core/amapSearchApi.d.ts.map +1 -1
  94. package/types/src/core/configLoader.d.ts +33 -33
  95. package/types/src/core/configLoader.d.ts.map +1 -1
  96. package/types/src/core/drawing/BaseDrawing.d.ts.map +1 -1
  97. package/types/src/core/drawing/DrawingManager.d.ts.map +1 -1
  98. package/types/src/core/drawing/IconDrawing.d.ts.map +1 -1
  99. package/types/src/core/drawing/ImageDrawing.d.ts.map +1 -1
  100. package/types/src/core/drawing/LineDrawing.d.ts.map +1 -1
  101. package/types/src/core/drawing/MilitaryDrawing.d.ts.map +1 -1
  102. package/types/src/core/drawing/MultiLineStringDrawing.d.ts.map +1 -1
  103. package/types/src/core/drawing/MultiPointDrawing.d.ts.map +1 -1
  104. package/types/src/core/drawing/MultiPolygonDrawing.d.ts.map +1 -1
  105. package/types/src/core/drawing/PointDrawing.d.ts +2 -2
  106. package/types/src/core/drawing/PointDrawing.d.ts.map +1 -1
  107. package/types/src/core/drawing/PointWithTextDrawing.d.ts +2 -2
  108. package/types/src/core/drawing/PointWithTextDrawing.d.ts.map +1 -1
  109. package/types/src/core/drawing/PolygonDrawing.d.ts.map +1 -1
  110. package/types/src/core/drawing/TextDrawing.d.ts.map +1 -1
  111. package/types/src/core/drawing/index.d.ts +12 -12
  112. package/types/src/core/drawing/index.d.ts.map +1 -1
  113. package/types/src/core/geoJsonLocationTool.d.ts +3 -3
  114. package/types/src/core/geoJsonLocationTool.d.ts.map +1 -1
  115. package/types/src/core/layers/BaseLayer.d.ts +1 -1
  116. package/types/src/core/layers/BaseLayer.d.ts.map +1 -1
  117. package/types/src/core/layers/CanvasLayerHandler.d.ts.map +1 -1
  118. package/types/src/core/layers/ClusterLayerHandler.d.ts.map +1 -1
  119. package/types/src/core/layers/GMLLayerHandler.d.ts.map +1 -1
  120. package/types/src/core/layers/GeoJSONLayerHandler.d.ts.map +1 -1
  121. package/types/src/core/layers/HeatmapLayerHandler.d.ts.map +1 -1
  122. package/types/src/core/layers/ImageVectorLayerHandler.d.ts.map +1 -1
  123. package/types/src/core/layers/KMLLayerHandler.d.ts.map +1 -1
  124. package/types/src/core/layers/LayerFactory.d.ts.map +1 -1
  125. package/types/src/core/layers/SuperMapServiceTester.d.ts.map +1 -1
  126. package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts.map +1 -1
  127. package/types/src/core/layers/TiandituConfigHelper.d.ts.map +1 -1
  128. package/types/src/core/layers/TiandituLayerHandler.d.ts.map +1 -1
  129. package/types/src/core/layers/TileLayerHandler.d.ts.map +1 -1
  130. package/types/src/core/layers/TileSuperMapRestHandler.d.ts +1 -1
  131. package/types/src/core/layers/TileSuperMapRestHandler.d.ts.map +1 -1
  132. package/types/src/core/layers/VectorTileLayerHandler.d.ts +3 -3
  133. package/types/src/core/layers/VectorTileLayerHandler.d.ts.map +1 -1
  134. package/types/src/core/layers/WFSLayerHandler.d.ts +1 -1
  135. package/types/src/core/layers/WFSLayerHandler.d.ts.map +1 -1
  136. package/types/src/core/layers/WKTLayerHandler.d.ts.map +1 -1
  137. package/types/src/core/layers/WMSLayerHandler.d.ts +1 -1
  138. package/types/src/core/layers/WMSLayerHandler.d.ts.map +1 -1
  139. package/types/src/core/layers/WMTSLayerHandler.d.ts.map +1 -1
  140. package/types/src/core/layers/interfaces.d.ts +1 -1
  141. package/types/src/core/layers/interfaces.d.ts.map +1 -1
  142. package/types/src/core/mapOperationTool.d.ts.map +1 -1
  143. package/types/src/core/measurementTool.d.ts.map +1 -1
  144. package/types/src/core/overviewMapUtil.d.ts.map +1 -1
  145. package/types/src/core/proxyHelper.d.ts +1 -1
  146. package/types/src/core/proxyHelper.d.ts.map +1 -1
  147. package/types/src/core/storage.d.ts.map +1 -1
  148. package/types/src/core/styles/StyleFactory.d.ts.map +1 -1
  149. package/types/src/core/styles/StyleManager.d.ts.map +1 -1
  150. package/types/src/core/styles/index.d.ts +1 -1
  151. package/types/src/core/styles/index.d.ts.map +1 -1
  152. package/types/src/core/styles/interfaces.d.ts +3 -3
  153. package/types/src/core/styles/interfaces.d.ts.map +1 -1
  154. package/types/src/core/tiandituSearchApi.d.ts.map +1 -1
  155. package/types/src/hooks/useMap.d.ts.map +1 -1
  156. package/types/src/services/searchService.d.ts +2 -2
  157. package/types/src/services/searchService.d.ts.map +1 -1
  158. package/types/src/style.d.ts.map +1 -1
  159. package/types/src/types/map.d.ts +75 -0
  160. package/types/src/types/map.d.ts.map +1 -1
  161. package/types/src/utils/DiffusionAnimationHelper.d.ts.map +1 -1
  162. package/types/src/utils/GifAnimationHelper.d.ts.map +1 -1
  163. package/types/src/utils/coordinateTransform.d.ts.map +1 -1
  164. package/types/src/utils/html2pdf.d.ts +3 -0
  165. package/types/src/utils/html2pdf.d.ts.map +1 -1
  166. package/types/src/utils/index.d.ts +1 -1
  167. package/types/src/utils/index.d.ts.map +1 -1
  168. package/types/src/utils/unitConverter.d.ts.map +1 -1
  169. package/types/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, computed, ref, watch, onMounted, onUnmounted, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, normalizeClass, toDisplayString } from "vue";
2
- import { l as layerEventBus, X, d as _export_sfc } from "./index-dd63f686.mjs";
2
+ import { l as layerEventBus, X, d as _export_sfc } from "./index-7f38e279.mjs";
3
3
  import "ol";
4
4
  const _hoisted_1 = { class: "basemap-content" };
5
5
  const _hoisted_2 = { class: "basemap-grid" };
@@ -7,16 +7,6 @@ const _hoisted_3 = ["onClick"];
7
7
  const _hoisted_4 = { class: "basemap-preview" };
8
8
  const _hoisted_5 = ["src", "alt"];
9
9
  const _hoisted_6 = { class: "basemap-name" };
10
- const tdtImgUrl = "";
11
- const tdtVecUrl = "";
12
- const gaodeImgUrl = "";
13
- const gaodeVecUrl = "";
14
- const bdImgUrl = "";
15
- const bdVecUrl = "";
16
- const tencentImgUrl = "";
17
- const tencentVecUrl = "";
18
- const osmUrl = "";
19
- const customBlueUrl = "";
20
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
21
11
  __name: "BasemapPanel",
22
12
  props: {
@@ -24,6 +14,57 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
14
  },
25
15
  emits: ["update:modelValue"],
26
16
  setup(__props, { emit: __emit }) {
17
+ const createThumbnail = (type, label) => {
18
+ let content = "";
19
+ let bgColor = "#f0f2f5";
20
+ if (type === "img" || type === "satellite") {
21
+ bgColor = "#2f4f4f";
22
+ content = `
23
+ <rect width="100" height="100" fill="${bgColor}"/>
24
+ <path d="M0 60 Q 30 50 60 70 T 100 60 V 100 H 0 Z" fill="#228b22" opacity="0.6"/>
25
+ <path d="M0 80 Q 40 70 80 85 T 100 80 V 100 H 0 Z" fill="#006400" opacity="0.7"/>
26
+ <circle cx="20" cy="20" r="8" fill="#87ceeb" opacity="0.8"/>
27
+ `;
28
+ } else if (type === "vec" || type === "vector") {
29
+ bgColor = "#f5f5f5";
30
+ content = `
31
+ <rect width="100" height="100" fill="${bgColor}"/>
32
+ <path d="M10 0 V 100 M 30 0 V 100 M 50 0 V 100 M 70 0 V 100 M 90 0 V 100" stroke="#e0e0e0" stroke-width="1"/>
33
+ <path d="M0 20 H 100 M 0 40 H 100 M 0 60 H 100 M 0 80 H 100" stroke="#e0e0e0" stroke-width="1"/>
34
+ <path d="M0 30 L 100 70" stroke="#ffd700" stroke-width="3" opacity="0.8"/>
35
+ <path d="M20 0 L 80 100" stroke="#a9a9a9" stroke-width="2"/>
36
+ `;
37
+ } else if (type === "dark") {
38
+ bgColor = "#1a1a1a";
39
+ content = `
40
+ <rect width="100" height="100" fill="${bgColor}"/>
41
+ <path d="M0 50 H 100 M 50 0 V 100" stroke="#333" stroke-width="1"/>
42
+ <circle cx="50" cy="50" r="20" stroke="#409eff" stroke-width="1" fill="none"/>
43
+ `;
44
+ } else {
45
+ bgColor = "#e6e6fa";
46
+ content = `
47
+ <rect width="100" height="100" fill="${bgColor}"/>
48
+ <rect x="20" y="20" width="60" height="60" rx="4" stroke="#9370db" stroke-width="2" fill="none" stroke-dasharray="4 2"/>
49
+ `;
50
+ }
51
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
52
+ ${content}
53
+ <rect x="0" y="70" width="100" height="30" fill="rgba(0,0,0,0.6)"/>
54
+ <text x="50" y="90" font-family="Arial" font-size="12" fill="white" text-anchor="middle" font-weight="bold">${label}</text>
55
+ </svg>`;
56
+ return `data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(svg)))}`;
57
+ };
58
+ const tdtImgUrl = createThumbnail("img", "天地图影像");
59
+ const tdtVecUrl = createThumbnail("vec", "天地图矢量");
60
+ const gaodeImgUrl = createThumbnail("img", "高德影像");
61
+ const gaodeVecUrl = createThumbnail("vec", "高德矢量");
62
+ const bdImgUrl = createThumbnail("img", "百度影像");
63
+ const bdVecUrl = createThumbnail("vec", "百度矢量");
64
+ const tencentImgUrl = createThumbnail("img", "腾讯影像");
65
+ const tencentVecUrl = createThumbnail("vec", "腾讯矢量");
66
+ const osmUrl = createThumbnail("vec", "OSM");
67
+ const customBlueUrl = createThumbnail("dark", "自定义");
27
68
  const props = __props;
28
69
  const emit = __emit;
29
70
  const layerPanelConfig = inject("layerPanelConfig", { baseLayers: [] });
@@ -75,7 +116,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
75
116
  watch(
76
117
  () => selectedBasemap.value,
77
118
  (newValue, oldValue) => {
78
- console.log("BasemapPanel: selectedBasemap changed from", oldValue, "to", newValue);
119
+ console.log(
120
+ "BasemapPanel: selectedBasemap changed from",
121
+ oldValue,
122
+ "to",
123
+ newValue
124
+ );
79
125
  }
80
126
  );
81
127
  onMounted(() => {
@@ -169,22 +215,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
169
215
  return layer.thumbnail;
170
216
  }
171
217
  const typeMap = {
172
- "osm": osmUrl,
173
- "OSM": osmUrl,
174
- "XYZ": tdtImgUrl,
175
- "tianditu": tdtImgUrl,
218
+ osm: osmUrl,
219
+ OSM: osmUrl,
220
+ XYZ: tdtImgUrl,
221
+ tianditu: tdtImgUrl,
176
222
  "tianditu-img": tdtImgUrl,
177
223
  "tianditu-vec": tdtVecUrl,
178
- "gaode": gaodeImgUrl,
224
+ gaode: gaodeImgUrl,
179
225
  "gaode-img": gaodeImgUrl,
180
226
  "gaode-vec": gaodeVecUrl,
181
- "baidu": bdImgUrl,
227
+ baidu: bdImgUrl,
182
228
  "baidu-img": bdImgUrl,
183
229
  "baidu-vec": bdVecUrl,
184
- "tencent": tencentImgUrl,
230
+ tencent: tencentImgUrl,
185
231
  "tencent-img": tencentImgUrl,
186
232
  "tencent-vec": tencentVecUrl,
187
- "custom": customBlueUrl
233
+ custom: customBlueUrl
188
234
  };
189
235
  if (typeMap[type]) {
190
236
  return typeMap[type];
@@ -242,7 +288,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
242
288
  draggable: true,
243
289
  resizable: true,
244
290
  "modal-class": ["pointer-events-none"],
245
- cacheId: "basemap-dialog",
291
+ "cache-id": "basemap-dialog",
246
292
  position: "right",
247
293
  class: "basemap-dialog",
248
294
  "append-to-body": "",
@@ -275,7 +321,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
275
321
  };
276
322
  }
277
323
  });
278
- const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-941dac43"]]);
324
+ const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-60bca8a2"]]);
279
325
  export {
280
326
  BasemapPanel as default
281
327
  };
@@ -1,10 +1,10 @@
1
- import { defineComponent, inject, computed, ref, reactive, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createVNode, createTextVNode } from "vue";
2
- import { T as TooltipHelper } from "./index-dd63f686.mjs";
1
+ import { defineComponent, inject, computed, ref, reactive, resolveComponent, openBlock, createBlock, withCtx, createElementVNode, createVNode, createTextVNode, unref } from "vue";
2
+ import { i as aim_default, T as TooltipHelper, d as _export_sfc } from "./index-7f38e279.mjs";
3
3
  import "ol";
4
4
  const _hoisted_1 = { class: "coordinate-content" };
5
5
  const _hoisted_2 = { class: "format-selection" };
6
- const _hoisted_3 = { class: "format-options" };
7
- const _hoisted_4 = { class: "coordinate-input" };
6
+ const _hoisted_3 = { class: "coordinate-input" };
7
+ const _hoisted_4 = { class: "operation-tip" };
8
8
  const _hoisted_5 = { class: "dialog-footer" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "CoordinateLocationDialog",
@@ -66,8 +66,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
66
66
  }
67
67
  } else {
68
68
  if (coordinateForm.longitude.includes("°")) {
69
- coordinateForm.longitude = dmsToDecimal(coordinateForm.longitude).toFixed(6);
70
- coordinateForm.latitude = dmsToDecimal(coordinateForm.latitude).toFixed(6);
69
+ coordinateForm.longitude = dmsToDecimal(coordinateForm.longitude).toFixed(
70
+ 6
71
+ );
72
+ coordinateForm.latitude = dmsToDecimal(coordinateForm.latitude).toFixed(
73
+ 6
74
+ );
71
75
  }
72
76
  }
73
77
  };
@@ -90,7 +94,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
90
94
  tooltipHelper.showTooltip("点击地图获取坐标信息");
91
95
  measurementTool.value.startCoordinateMeasurement((result) => {
92
96
  if (result && result.longitude && result.latitude) {
93
- setPickedCoordinate(parseFloat(result.longitude), parseFloat(result.latitude));
97
+ setPickedCoordinate(
98
+ parseFloat(result.longitude),
99
+ parseFloat(result.latitude)
100
+ );
94
101
  if (tooltipHelper) {
95
102
  tooltipHelper.hideTooltip();
96
103
  }
@@ -150,42 +157,59 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
150
157
  setPickedCoordinate
151
158
  });
152
159
  return (_ctx, _cache) => {
153
- const _component_el_radio = resolveComponent("el-radio");
160
+ const _component_el_radio_button = resolveComponent("el-radio-button");
154
161
  const _component_el_radio_group = resolveComponent("el-radio-group");
162
+ const _component_LocationInformation = resolveComponent("LocationInformation");
163
+ const _component_el_icon = resolveComponent("el-icon");
155
164
  const _component_el_input = resolveComponent("el-input");
156
165
  const _component_el_form_item = resolveComponent("el-form-item");
157
166
  const _component_el_form = resolveComponent("el-form");
167
+ const _component_InfoFilled = resolveComponent("InfoFilled");
168
+ const _component_Pointer = resolveComponent("Pointer");
158
169
  const _component_el_button = resolveComponent("el-button");
159
170
  const _component_EPlusDialog = resolveComponent("EPlusDialog");
160
171
  return openBlock(), createBlock(_component_EPlusDialog, {
161
172
  modelValue: dialogVisible.value,
162
173
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
163
174
  title: "坐标拾取",
164
- width: "450px",
165
- onClose: handleClose,
166
- cacheId: "coordinate-dialog",
175
+ width: "400px",
176
+ "cache-id": "coordinate-dialog",
167
177
  "show-modal": false,
168
178
  "modal-class": ["pointer-events-none"],
169
- class: "coordinate-dialog"
179
+ class: "coordinate-dialog",
180
+ onClose: handleClose
170
181
  }, {
171
182
  footer: withCtx(() => [
172
183
  createElementVNode("div", _hoisted_5, [
173
184
  createVNode(_component_el_button, {
174
- type: "primary",
185
+ class: "action-btn pick-btn",
175
186
  onClick: getCurrentLocation
176
187
  }, {
177
- default: withCtx(() => [..._cache[7] || (_cache[7] = [
178
- createTextVNode(" 图上拾取 ", -1)
179
- ])]),
188
+ default: withCtx(() => [
189
+ createVNode(_component_el_icon, { class: "mr-1" }, {
190
+ default: withCtx(() => [
191
+ createVNode(_component_Pointer)
192
+ ]),
193
+ _: 1
194
+ }),
195
+ _cache[7] || (_cache[7] = createTextVNode(" 图上拾取 ", -1))
196
+ ]),
180
197
  _: 1
181
198
  }),
182
199
  createVNode(_component_el_button, {
183
- type: "success",
200
+ type: "primary",
201
+ class: "action-btn locate-btn",
184
202
  onClick: locateOnMap
185
203
  }, {
186
- default: withCtx(() => [..._cache[8] || (_cache[8] = [
187
- createTextVNode(" 坐标定位 ", -1)
188
- ])]),
204
+ default: withCtx(() => [
205
+ createVNode(_component_el_icon, { class: "mr-1" }, {
206
+ default: withCtx(() => [
207
+ createVNode(unref(aim_default))
208
+ ]),
209
+ _: 1
210
+ }),
211
+ _cache[8] || (_cache[8] = createTextVNode(" 坐标定位 ", -1))
212
+ ]),
189
213
  _: 1
190
214
  })
191
215
  ])
@@ -193,38 +217,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
193
217
  default: withCtx(() => [
194
218
  createElementVNode("div", _hoisted_1, [
195
219
  createElementVNode("div", _hoisted_2, [
196
- _cache[6] || (_cache[6] = createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
197
- createElementVNode("div", _hoisted_3, [
198
- createVNode(_component_el_radio_group, {
199
- modelValue: selectedFormat.value,
200
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
201
- onChange: onFormatChange
202
- }, {
203
- default: withCtx(() => [
204
- createVNode(_component_el_radio, { value: "decimal" }, {
205
- default: withCtx(() => [..._cache[4] || (_cache[4] = [
206
- createTextVNode("十进制", -1)
207
- ])]),
208
- _: 1
209
- }),
210
- createVNode(_component_el_radio, { value: "dms" }, {
211
- default: withCtx(() => [..._cache[5] || (_cache[5] = [
212
- createTextVNode("度分秒", -1)
213
- ])]),
214
- _: 1
215
- })
216
- ]),
217
- _: 1
218
- }, 8, ["modelValue"])
219
- ])
220
+ createVNode(_component_el_radio_group, {
221
+ modelValue: selectedFormat.value,
222
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
223
+ size: "default",
224
+ fill: "var(--el-color-primary)",
225
+ onChange: onFormatChange
226
+ }, {
227
+ default: withCtx(() => [
228
+ createVNode(_component_el_radio_button, { value: "decimal" }, {
229
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
230
+ createTextVNode("十进制", -1)
231
+ ])]),
232
+ _: 1
233
+ }),
234
+ createVNode(_component_el_radio_button, { value: "dms" }, {
235
+ default: withCtx(() => [..._cache[5] || (_cache[5] = [
236
+ createTextVNode("度分秒", -1)
237
+ ])]),
238
+ _: 1
239
+ })
240
+ ]),
241
+ _: 1
242
+ }, 8, ["modelValue"])
220
243
  ]),
221
- createElementVNode("div", _hoisted_4, [
244
+ createElementVNode("div", _hoisted_3, [
222
245
  createVNode(_component_el_form, {
223
246
  model: coordinateForm,
224
- "label-width": "60px"
247
+ "label-position": "top",
248
+ size: "large"
225
249
  }, {
226
250
  default: withCtx(() => [
227
- createVNode(_component_el_form_item, { label: "经度:" }, {
251
+ createVNode(_component_el_form_item, { label: "经度" }, {
228
252
  default: withCtx(() => [
229
253
  createVNode(_component_el_input, {
230
254
  modelValue: coordinateForm.longitude,
@@ -232,11 +256,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
232
256
  placeholder: "请输入经度",
233
257
  type: selectedFormat.value === "decimal" ? "number" : "text",
234
258
  step: selectedFormat.value === "decimal" ? "0.000001" : void 0
235
- }, null, 8, ["modelValue", "type", "step"])
259
+ }, {
260
+ prefix: withCtx(() => [
261
+ createVNode(_component_el_icon, null, {
262
+ default: withCtx(() => [
263
+ createVNode(_component_LocationInformation)
264
+ ]),
265
+ _: 1
266
+ })
267
+ ]),
268
+ _: 1
269
+ }, 8, ["modelValue", "type", "step"])
236
270
  ]),
237
271
  _: 1
238
272
  }),
239
- createVNode(_component_el_form_item, { label: "纬度:" }, {
273
+ createVNode(_component_el_form_item, { label: "纬度" }, {
240
274
  default: withCtx(() => [
241
275
  createVNode(_component_el_input, {
242
276
  modelValue: coordinateForm.latitude,
@@ -244,13 +278,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
244
278
  placeholder: "请输入纬度",
245
279
  type: selectedFormat.value === "decimal" ? "number" : "text",
246
280
  step: selectedFormat.value === "decimal" ? "0.000001" : void 0
247
- }, null, 8, ["modelValue", "type", "step"])
281
+ }, {
282
+ prefix: withCtx(() => [
283
+ createVNode(_component_el_icon, null, {
284
+ default: withCtx(() => [
285
+ createVNode(_component_LocationInformation)
286
+ ]),
287
+ _: 1
288
+ })
289
+ ]),
290
+ _: 1
291
+ }, 8, ["modelValue", "type", "step"])
248
292
  ]),
249
293
  _: 1
250
294
  })
251
295
  ]),
252
296
  _: 1
253
297
  }, 8, ["model"])
298
+ ]),
299
+ createElementVNode("div", _hoisted_4, [
300
+ createVNode(_component_el_icon, null, {
301
+ default: withCtx(() => [
302
+ createVNode(_component_InfoFilled)
303
+ ]),
304
+ _: 1
305
+ }),
306
+ _cache[6] || (_cache[6] = createElementVNode("span", null, "支持手动输入坐标或在地图上点击拾取", -1))
254
307
  ])
255
308
  ])
256
309
  ]),
@@ -259,6 +312,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
259
312
  };
260
313
  }
261
314
  });
315
+ const CoordinateLocationDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0c70c644"]]);
262
316
  export {
263
- _sfc_main as default
317
+ CoordinateLocationDialog as default
264
318
  };
@@ -1,4 +1,4 @@
1
- import { a2 as _sfc_main } from "./index-dd63f686.mjs";
1
+ import { a6 as _sfc_main } from "./index-7f38e279.mjs";
2
2
  import "vue";
3
3
  import "ol";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { e as _sfc_main } from "./index-dd63f686.mjs";
1
+ import { h as _sfc_main } from "./index-7f38e279.mjs";
2
2
  import "vue";
3
3
  import "ol";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { h as _sfc_main } from "./index-dd63f686.mjs";
1
+ import { e as _sfc_main } from "./index-7f38e279.mjs";
2
2
  import "vue";
3
3
  import "ol";
4
4
  export {
@@ -1,21 +1,49 @@
1
1
  import { defineComponent, inject, computed, ref, watch, resolveComponent, openBlock, createBlock, unref, withCtx, createElementVNode, createVNode, createTextVNode, toDisplayString, createElementBlock, Fragment, renderList, normalizeClass } from "vue";
2
- import { X, f as formatMeasurementResult, g as getUnitByType, d as _export_sfc } from "./index-dd63f686.mjs";
2
+ import { X, f as formatMeasurementResult, g as getUnitByType, d as _export_sfc } from "./index-7f38e279.mjs";
3
3
  import "ol";
4
- const getIconPath = (name) => {
5
- return `/icons/${name}.svg`;
4
+ const createSvgIcon = (content, viewBox = "0 0 24 24", fill = "currentColor", stroke = "none", strokeWidth = "0") => {
5
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${viewBox}" width="24" height="24" fill="${fill}" stroke="${stroke}" stroke-width="${strokeWidth}" stroke-linecap="round" stroke-linejoin="round">${content}</svg>`;
6
+ return `data:image/svg+xml;base64,${btoa(svg)}`;
7
+ };
8
+ const svgPaths = {
9
+ // 空间距离 - 尺子图标
10
+ distance: '<path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM7 10h2v7H7zm4-3h2v10h-2zm4 3h2v7h-2z" fill="#409eff"/>',
11
+ // 水平面积 - 多边形网格图标
12
+ area: '<path d="M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H5V7h14v10z" fill="none" stroke="#67c23a" stroke-width="2"/><path d="M7 9h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z" fill="#67c23a"/>',
13
+ // 坐标测量 - 定位针图标
14
+ coordinate: '<path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z" fill="#e6a23c"/>',
15
+ // 角度测量 - 量角器图标
16
+ angle: '<path d="M20 18v-2H6.8l5.6-9.7l1.7 1l-4.2 7.2h10.1z" fill="none" stroke="#f56c6c" stroke-width="2"/><circle cx="12" cy="12" r="2" fill="#f56c6c"/>',
17
+ // 区域导航 - 指南针/地图图标
18
+ location: '<path d="M12 2L4.5 20.29l.71.71L12 18l6.79 3 .71-.71z" fill="#409eff"/>',
19
+ // 标记 - 简单的图钉图标
20
+ marker: '<path d="M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86 3.14-7 7-7zm0 2c2.76 0 5 2.24 5 5s-2.24 5-5 5-5-2.24-5-5 2.24-5 5-5zm0 2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" fill="#f56c6c"/>',
21
+ // 清除 - 垃圾桶/扫帚图标
22
+ clear: '<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="#909399"/>',
23
+ // 关闭
24
+ close: '<path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="#606266"/>',
25
+ // 全屏
26
+ fullscreen: '<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" fill="#606266"/>',
27
+ // 退出全屏
28
+ exitFullscreen: '<path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" fill="#606266"/>'
29
+ };
30
+ const getIcon = (name) => {
31
+ const path = svgPaths[name];
32
+ if (!path)
33
+ return "";
34
+ return createSvgIcon(path);
6
35
  };
7
36
  const icons = {
8
- distance: getIconPath("distance"),
9
- area: getIconPath("area"),
10
- coordinate: getIconPath("coordinate"),
11
- angle: getIconPath("angle"),
12
- location: getIconPath("location"),
13
- // 添加其他需要的图标
14
- marker: getIconPath("marker"),
15
- clear: getIconPath("clear"),
16
- close: getIconPath("close"),
17
- fullscreen: getIconPath("fullscreen"),
18
- exitFullscreen: getIconPath("exit-fullscreen")
37
+ distance: getIcon("distance"),
38
+ area: getIcon("area"),
39
+ coordinate: getIcon("coordinate"),
40
+ angle: getIcon("angle"),
41
+ location: getIcon("location"),
42
+ marker: getIcon("marker"),
43
+ clear: getIcon("clear"),
44
+ close: getIcon("close"),
45
+ fullscreen: getIcon("fullscreen"),
46
+ exitFullscreen: getIcon("exitFullscreen")
19
47
  };
20
48
  const _hoisted_1 = { class: "measurement-content h-full flex flex-col" };
21
49
  const _hoisted_2 = { class: "measurement-header flex justify-between items-center px-6 py-4" };
@@ -55,19 +83,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
83
  return;
56
84
  const resultType = measurementResult.value.type || activeTool.value;
57
85
  if (resultType === "distance" && measurementResult.value.value !== void 0) {
58
- const result = formatMeasurementResult(measurementResult.value.value, "length", selectedUnit.value);
86
+ const result = formatMeasurementResult(
87
+ measurementResult.value.value,
88
+ "length",
89
+ selectedUnit.value
90
+ );
59
91
  measurementResult.value = {
60
92
  ...measurementResult.value,
61
93
  distance: result.formatted
62
94
  };
63
95
  } else if (resultType === "area" && measurementResult.value.value !== void 0) {
64
- const result = formatMeasurementResult(measurementResult.value.value, "area", selectedUnit.value);
96
+ const result = formatMeasurementResult(
97
+ measurementResult.value.value,
98
+ "area",
99
+ selectedUnit.value
100
+ );
65
101
  measurementResult.value = {
66
102
  ...measurementResult.value,
67
103
  area: result.formatted
68
104
  };
69
105
  } else if (resultType === "angle" && measurementResult.value.value !== void 0) {
70
- const result = formatMeasurementResult(measurementResult.value.value, "angle", selectedUnit.value);
106
+ const result = formatMeasurementResult(
107
+ measurementResult.value.value,
108
+ "angle",
109
+ selectedUnit.value
110
+ );
71
111
  measurementResult.value = {
72
112
  ...measurementResult.value,
73
113
  angle: result.formatted
@@ -110,27 +150,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
110
150
  switch (tool) {
111
151
  case "distance":
112
152
  mouseTooltip.value = "点击地图上两点或多点测量距离";
113
- measurementTool.value.startDistanceMeasurement((result) => {
114
- handleMeasurementResult(result);
115
- }, selectedUnit.value);
153
+ measurementTool.value.startDistanceMeasurement(
154
+ (result) => {
155
+ handleMeasurementResult(result);
156
+ },
157
+ selectedUnit.value
158
+ );
116
159
  break;
117
160
  case "area":
118
161
  mouseTooltip.value = "点击地图绘制多边形测量面积";
119
- measurementTool.value.startAreaMeasurement((result) => {
120
- handleMeasurementResult(result);
121
- }, selectedUnit.value);
162
+ measurementTool.value.startAreaMeasurement(
163
+ (result) => {
164
+ handleMeasurementResult(result);
165
+ },
166
+ selectedUnit.value
167
+ );
122
168
  break;
123
169
  case "coordinate":
124
170
  mouseTooltip.value = "点击地图获取坐标信息";
125
- measurementTool.value.startCoordinateMeasurement((result) => {
126
- handleMeasurementResult(result);
127
- });
171
+ measurementTool.value.startCoordinateMeasurement(
172
+ (result) => {
173
+ handleMeasurementResult(result);
174
+ }
175
+ );
128
176
  break;
129
177
  case "angle":
130
178
  mouseTooltip.value = "点击地图测量角度";
131
- measurementTool.value.startAngleMeasurement((result) => {
132
- handleMeasurementResult(result);
133
- }, selectedUnit.value);
179
+ measurementTool.value.startAngleMeasurement(
180
+ (result) => {
181
+ handleMeasurementResult(result);
182
+ },
183
+ selectedUnit.value
184
+ );
134
185
  break;
135
186
  }
136
187
  };
@@ -265,7 +316,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
265
316
  "before-close": handleClose,
266
317
  "show-modal": false,
267
318
  "modal-class": ["pointer-events-none"],
268
- cacheId: "measurement-dialog",
319
+ "cache-id": "measurement-dialog",
269
320
  "append-to-body": ""
270
321
  }, {
271
322
  default: withCtx(() => [
@@ -329,8 +380,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
329
380
  createVNode(_component_el_button, {
330
381
  type: "text",
331
382
  size: "small",
332
- onClick: clearMeasurement,
333
- style: { "color": "var(--el-color-danger)" }
383
+ style: { "color": "var(--el-color-danger)" },
384
+ onClick: clearMeasurement
334
385
  }, {
335
386
  default: withCtx(() => [..._cache[2] || (_cache[2] = [
336
387
  createTextVNode(" 清除 ", -1)
@@ -364,7 +415,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
364
415
  };
365
416
  }
366
417
  });
367
- const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-97889a63"]]);
418
+ const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-88b16326"]]);
368
419
  export {
369
420
  MeasurementDialog as default
370
421
  };