vue-openlayers-plugin 1.0.90 → 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-cba3afd6.mjs → BasemapPanel-a7640f57.mjs} +69 -22
  2. package/lib/{CoordinateLocationDialog-6e8a5f24.mjs → CoordinateLocationDialog-3fd9613f.mjs} +106 -51
  3. package/lib/{FilterPanel-9a8e2aca.mjs → FilterPanel-53958140.mjs} +1 -1
  4. package/lib/{MapPrintDialog-03c0823b.mjs → LayerPanel-02152994.mjs} +1 -1
  5. package/lib/{LayerPanel-be35370b.mjs → MapPrintDialog-bbf1ccc1.mjs} +1 -1
  6. package/lib/{MeasurementDialog-7fce097a.mjs → MeasurementDialog-4ffa44ae.mjs} +85 -33
  7. package/lib/{MyMarkersDialog-7dd24d9a.mjs → MyMarkersDialog-605a60e2.mjs} +139 -63
  8. package/lib/{RegionNavigationDialog-0808549f.mjs → RegionNavigationDialog-b0b6f86b.mjs} +30 -26
  9. package/lib/{ViewBookmarksDialog-60c9e851.mjs → ViewBookmarksDialog-475f44f3.mjs} +251 -92
  10. package/lib/{index-b3c7ea8d.mjs → index-30b0d26c.mjs} +1 -1
  11. package/lib/{index-05da77ba.mjs → index-7f38e279.mjs} +3361 -1919
  12. package/lib/{index-7aae577e.mjs → index-ecd9c14c.mjs} +14 -17
  13. package/lib/{index.es-e4a6ccb9.mjs → index.es-d464d539.mjs} +1 -1
  14. package/lib/index.esm.js +63 -63
  15. package/lib/index.umd.js +3956 -2128
  16. package/lib/style.css +707 -633
  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-05da77ba.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];
@@ -241,7 +287,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
241
287
  "show-modal": false,
242
288
  draggable: true,
243
289
  resizable: true,
244
- cacheId: "basemap-dialog",
290
+ "modal-class": ["pointer-events-none"],
291
+ "cache-id": "basemap-dialog",
245
292
  position: "right",
246
293
  class: "basemap-dialog",
247
294
  "append-to-body": "",
@@ -274,7 +321,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
274
321
  };
275
322
  }
276
323
  });
277
- const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75f232fd"]]);
324
+ const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-60bca8a2"]]);
278
325
  export {
279
326
  BasemapPanel as default
280
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-05da77ba.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,41 +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
- class: "coordinate-dialog"
178
+ "modal-class": ["pointer-events-none"],
179
+ class: "coordinate-dialog",
180
+ onClose: handleClose
169
181
  }, {
170
182
  footer: withCtx(() => [
171
183
  createElementVNode("div", _hoisted_5, [
172
184
  createVNode(_component_el_button, {
173
- type: "primary",
185
+ class: "action-btn pick-btn",
174
186
  onClick: getCurrentLocation
175
187
  }, {
176
- default: withCtx(() => [..._cache[7] || (_cache[7] = [
177
- createTextVNode(" 图上拾取 ", -1)
178
- ])]),
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
+ ]),
179
197
  _: 1
180
198
  }),
181
199
  createVNode(_component_el_button, {
182
- type: "success",
200
+ type: "primary",
201
+ class: "action-btn locate-btn",
183
202
  onClick: locateOnMap
184
203
  }, {
185
- default: withCtx(() => [..._cache[8] || (_cache[8] = [
186
- createTextVNode(" 坐标定位 ", -1)
187
- ])]),
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
+ ]),
188
213
  _: 1
189
214
  })
190
215
  ])
@@ -192,38 +217,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
192
217
  default: withCtx(() => [
193
218
  createElementVNode("div", _hoisted_1, [
194
219
  createElementVNode("div", _hoisted_2, [
195
- _cache[6] || (_cache[6] = createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
196
- createElementVNode("div", _hoisted_3, [
197
- createVNode(_component_el_radio_group, {
198
- modelValue: selectedFormat.value,
199
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
200
- onChange: onFormatChange
201
- }, {
202
- default: withCtx(() => [
203
- createVNode(_component_el_radio, { value: "decimal" }, {
204
- default: withCtx(() => [..._cache[4] || (_cache[4] = [
205
- createTextVNode("十进制", -1)
206
- ])]),
207
- _: 1
208
- }),
209
- createVNode(_component_el_radio, { value: "dms" }, {
210
- default: withCtx(() => [..._cache[5] || (_cache[5] = [
211
- createTextVNode("度分秒", -1)
212
- ])]),
213
- _: 1
214
- })
215
- ]),
216
- _: 1
217
- }, 8, ["modelValue"])
218
- ])
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"])
219
243
  ]),
220
- createElementVNode("div", _hoisted_4, [
244
+ createElementVNode("div", _hoisted_3, [
221
245
  createVNode(_component_el_form, {
222
246
  model: coordinateForm,
223
- "label-width": "60px"
247
+ "label-position": "top",
248
+ size: "large"
224
249
  }, {
225
250
  default: withCtx(() => [
226
- createVNode(_component_el_form_item, { label: "经度:" }, {
251
+ createVNode(_component_el_form_item, { label: "经度" }, {
227
252
  default: withCtx(() => [
228
253
  createVNode(_component_el_input, {
229
254
  modelValue: coordinateForm.longitude,
@@ -231,11 +256,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
231
256
  placeholder: "请输入经度",
232
257
  type: selectedFormat.value === "decimal" ? "number" : "text",
233
258
  step: selectedFormat.value === "decimal" ? "0.000001" : void 0
234
- }, 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"])
235
270
  ]),
236
271
  _: 1
237
272
  }),
238
- createVNode(_component_el_form_item, { label: "纬度:" }, {
273
+ createVNode(_component_el_form_item, { label: "纬度" }, {
239
274
  default: withCtx(() => [
240
275
  createVNode(_component_el_input, {
241
276
  modelValue: coordinateForm.latitude,
@@ -243,13 +278,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
278
  placeholder: "请输入纬度",
244
279
  type: selectedFormat.value === "decimal" ? "number" : "text",
245
280
  step: selectedFormat.value === "decimal" ? "0.000001" : void 0
246
- }, 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"])
247
292
  ]),
248
293
  _: 1
249
294
  })
250
295
  ]),
251
296
  _: 1
252
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))
253
307
  ])
254
308
  ])
255
309
  ]),
@@ -258,6 +312,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
258
312
  };
259
313
  }
260
314
  });
315
+ const CoordinateLocationDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0c70c644"]]);
261
316
  export {
262
- _sfc_main as default
317
+ CoordinateLocationDialog as default
263
318
  };
@@ -1,4 +1,4 @@
1
- import { a2 as _sfc_main } from "./index-05da77ba.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-05da77ba.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-05da77ba.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-05da77ba.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
  };
@@ -264,7 +315,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
264
315
  width: "400px",
265
316
  "before-close": handleClose,
266
317
  "show-modal": false,
267
- cacheId: "measurement-dialog",
318
+ "modal-class": ["pointer-events-none"],
319
+ "cache-id": "measurement-dialog",
268
320
  "append-to-body": ""
269
321
  }, {
270
322
  default: withCtx(() => [
@@ -328,8 +380,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
328
380
  createVNode(_component_el_button, {
329
381
  type: "text",
330
382
  size: "small",
331
- onClick: clearMeasurement,
332
- style: { "color": "var(--el-color-danger)" }
383
+ style: { "color": "var(--el-color-danger)" },
384
+ onClick: clearMeasurement
333
385
  }, {
334
386
  default: withCtx(() => [..._cache[2] || (_cache[2] = [
335
387
  createTextVNode(" 清除 ", -1)
@@ -363,7 +415,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
363
415
  };
364
416
  }
365
417
  });
366
- const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-60e80f64"]]);
418
+ const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-88b16326"]]);
367
419
  export {
368
420
  MeasurementDialog as default
369
421
  };