vue-openlayers-plugin 1.0.73 → 1.0.76
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.
- package/lib/{index-363194c0.mjs → index-5997484a.mjs} +834 -612
- package/lib/{index.es-a7ad7c48.mjs → index.es-5569f6dd.mjs} +1 -1
- package/lib/index.esm.js +1 -1
- package/lib/index.umd.js +834 -611
- package/lib/style.css +114 -0
- package/package.json +1 -1
- package/types/src/components/CustomOpenlayer/components/OlBaseLayerSwitcher.vue.d.ts +19 -0
- package/types/src/components/CustomOpenlayer/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -0
- package/types/src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue.d.ts +36 -0
- package/types/src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/types/index.d.ts +10 -0
- package/types/src/components/CustomOpenlayer/types/index.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/featureHighlightManager.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/geoJsonLocationTool.d.ts +13 -1
- package/types/src/components/CustomOpenlayer/utils/geoJsonLocationTool.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/GeoJSONLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/ImageVectorLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/VectorTileLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/mapManager.d.ts +5 -1
- package/types/src/components/CustomOpenlayer/utils/mapManager.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/styles/StyleFactory.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/styles/StyleManager.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/styles/interfaces.d.ts +2 -0
- package/types/src/components/CustomOpenlayer/utils/styles/interfaces.d.ts.map +1 -1
|
@@ -1561,7 +1561,7 @@ const __default__$5 = defineComponent({
|
|
|
1561
1561
|
name: "ElIcon",
|
|
1562
1562
|
inheritAttrs: false
|
|
1563
1563
|
});
|
|
1564
|
-
const _sfc_main$
|
|
1564
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
1565
1565
|
...__default__$5,
|
|
1566
1566
|
props: iconProps,
|
|
1567
1567
|
setup(__props) {
|
|
@@ -1586,7 +1586,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
1586
1586
|
};
|
|
1587
1587
|
}
|
|
1588
1588
|
});
|
|
1589
|
-
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
1589
|
+
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__file", "icon.vue"]]);
|
|
1590
1590
|
const ElIcon = withInstall(Icon$4);
|
|
1591
1591
|
/*! Element Plus Icons Vue v2.3.2 */
|
|
1592
1592
|
var _sfc_main2 = /* @__PURE__ */ defineComponent({
|
|
@@ -2863,7 +2863,7 @@ const __default__$4 = defineComponent({
|
|
|
2863
2863
|
name: COMPONENT_NAME,
|
|
2864
2864
|
inheritAttrs: false
|
|
2865
2865
|
});
|
|
2866
|
-
const _sfc_main$
|
|
2866
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
2867
2867
|
...__default__$4,
|
|
2868
2868
|
props: inputProps,
|
|
2869
2869
|
emits: inputEmits,
|
|
@@ -3274,7 +3274,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
3274
3274
|
};
|
|
3275
3275
|
}
|
|
3276
3276
|
});
|
|
3277
|
-
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3277
|
+
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$y, [["__file", "input.vue"]]);
|
|
3278
3278
|
const ElInput = withInstall(Input);
|
|
3279
3279
|
const FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
|
|
3280
3280
|
const FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
|
|
@@ -3469,7 +3469,7 @@ const useEscapeKeydown = (handler) => {
|
|
|
3469
3469
|
}
|
|
3470
3470
|
});
|
|
3471
3471
|
};
|
|
3472
|
-
const _sfc_main$
|
|
3472
|
+
const _sfc_main$x = defineComponent({
|
|
3473
3473
|
name: "ElFocusTrap",
|
|
3474
3474
|
inheritAttrs: false,
|
|
3475
3475
|
props: {
|
|
@@ -3714,7 +3714,7 @@ const _sfc_main$w = defineComponent({
|
|
|
3714
3714
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3715
3715
|
return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
|
|
3716
3716
|
}
|
|
3717
|
-
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3717
|
+
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["render", _sfc_render$1], ["__file", "focus-trap.vue"]]);
|
|
3718
3718
|
const badgeProps = buildProps({
|
|
3719
3719
|
value: {
|
|
3720
3720
|
type: [String, Number],
|
|
@@ -3750,7 +3750,7 @@ const badgeProps = buildProps({
|
|
|
3750
3750
|
const __default__$3 = defineComponent({
|
|
3751
3751
|
name: "ElBadge"
|
|
3752
3752
|
});
|
|
3753
|
-
const _sfc_main$
|
|
3753
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
3754
3754
|
...__default__$3,
|
|
3755
3755
|
props: badgeProps,
|
|
3756
3756
|
setup(__props, { expose }) {
|
|
@@ -3812,7 +3812,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
3812
3812
|
};
|
|
3813
3813
|
}
|
|
3814
3814
|
});
|
|
3815
|
-
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3815
|
+
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__file", "badge.vue"]]);
|
|
3816
3816
|
const ElBadge = withInstall(Badge);
|
|
3817
3817
|
const buttonGroupContextKey = Symbol("buttonGroupContextKey");
|
|
3818
3818
|
const useDeprecated = ({ from, replacement, scope, version: version2, ref: ref2, type = "API" }, condition) => {
|
|
@@ -4907,7 +4907,7 @@ function useButtonCustomStyle(props) {
|
|
|
4907
4907
|
const __default__$2 = defineComponent({
|
|
4908
4908
|
name: "ElButton"
|
|
4909
4909
|
});
|
|
4910
|
-
const _sfc_main$
|
|
4910
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
4911
4911
|
...__default__$2,
|
|
4912
4912
|
props: buttonProps,
|
|
4913
4913
|
emits: buttonEmits,
|
|
@@ -4985,7 +4985,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
4985
4985
|
};
|
|
4986
4986
|
}
|
|
4987
4987
|
});
|
|
4988
|
-
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
4988
|
+
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__file", "button.vue"]]);
|
|
4989
4989
|
const buttonGroupProps = {
|
|
4990
4990
|
size: buttonProps.size,
|
|
4991
4991
|
type: buttonProps.type
|
|
@@ -4993,7 +4993,7 @@ const buttonGroupProps = {
|
|
|
4993
4993
|
const __default__$1 = defineComponent({
|
|
4994
4994
|
name: "ElButtonGroup"
|
|
4995
4995
|
});
|
|
4996
|
-
const _sfc_main$
|
|
4996
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
4997
4997
|
...__default__$1,
|
|
4998
4998
|
props: buttonGroupProps,
|
|
4999
4999
|
setup(__props) {
|
|
@@ -5012,7 +5012,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
5012
5012
|
};
|
|
5013
5013
|
}
|
|
5014
5014
|
});
|
|
5015
|
-
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
5015
|
+
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "button-group.vue"]]);
|
|
5016
5016
|
const ElButton = withInstall(Button$2, {
|
|
5017
5017
|
ButtonGroup
|
|
5018
5018
|
});
|
|
@@ -5459,7 +5459,7 @@ const getOffsetOrSpace = (id, offset, placement) => {
|
|
|
5459
5459
|
const __default__ = defineComponent({
|
|
5460
5460
|
name: "ElMessage"
|
|
5461
5461
|
});
|
|
5462
|
-
const _sfc_main$
|
|
5462
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
5463
5463
|
...__default__,
|
|
5464
5464
|
props: messageProps,
|
|
5465
5465
|
emits: messageEmits,
|
|
@@ -5613,7 +5613,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
|
5613
5613
|
};
|
|
5614
5614
|
}
|
|
5615
5615
|
});
|
|
5616
|
-
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
5616
|
+
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "message.vue"]]);
|
|
5617
5617
|
let seed = 1;
|
|
5618
5618
|
const normalizeAppendTo = (normalized) => {
|
|
5619
5619
|
const appendTo = normalized.appendTo;
|
|
@@ -5808,7 +5808,7 @@ const TrapFocus = {
|
|
|
5808
5808
|
}
|
|
5809
5809
|
}
|
|
5810
5810
|
};
|
|
5811
|
-
const _sfc_main$
|
|
5811
|
+
const _sfc_main$s = defineComponent({
|
|
5812
5812
|
name: "ElMessageBox",
|
|
5813
5813
|
directives: {
|
|
5814
5814
|
TrapFocus
|
|
@@ -6280,7 +6280,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6280
6280
|
_: 3
|
|
6281
6281
|
}, 8, ["onAfterLeave"]);
|
|
6282
6282
|
}
|
|
6283
|
-
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
6283
|
+
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["render", _sfc_render], ["__file", "index.vue"]]);
|
|
6284
6284
|
const messageInstance = /* @__PURE__ */ new Map();
|
|
6285
6285
|
const getAppendToElement = (props) => {
|
|
6286
6286
|
let appendTo = document.body;
|
|
@@ -81121,12 +81121,308 @@ class MapOperationTool {
|
|
|
81121
81121
|
this.locateToGeoJSON(featureCollection2, options);
|
|
81122
81122
|
}
|
|
81123
81123
|
}
|
|
81124
|
+
const DEFAULT_HIGHLIGHT_STYLE = {
|
|
81125
|
+
fill: {
|
|
81126
|
+
color: "rgba(255, 255, 0, 0.3)",
|
|
81127
|
+
// 黄色半透明填充
|
|
81128
|
+
opacity: 0.3
|
|
81129
|
+
},
|
|
81130
|
+
stroke: {
|
|
81131
|
+
color: "#ffff00",
|
|
81132
|
+
// 黄色描边
|
|
81133
|
+
width: 3,
|
|
81134
|
+
lineDash: [5, 5]
|
|
81135
|
+
// 虚线
|
|
81136
|
+
},
|
|
81137
|
+
circle: {
|
|
81138
|
+
radius: 8,
|
|
81139
|
+
fill: {
|
|
81140
|
+
color: "rgba(255, 255, 0, 0.6)",
|
|
81141
|
+
opacity: 0.6
|
|
81142
|
+
},
|
|
81143
|
+
stroke: {
|
|
81144
|
+
color: "#ffff00",
|
|
81145
|
+
width: 3
|
|
81146
|
+
}
|
|
81147
|
+
},
|
|
81148
|
+
text: {
|
|
81149
|
+
font: "12px Arial",
|
|
81150
|
+
fill: {
|
|
81151
|
+
color: "#000000"
|
|
81152
|
+
},
|
|
81153
|
+
stroke: {
|
|
81154
|
+
color: "#ffffff",
|
|
81155
|
+
width: 2
|
|
81156
|
+
},
|
|
81157
|
+
offsetY: -15,
|
|
81158
|
+
scale: 1.2
|
|
81159
|
+
}
|
|
81160
|
+
};
|
|
81161
|
+
class FeatureHighlightManager {
|
|
81162
|
+
constructor(map2, styleConfig) {
|
|
81163
|
+
__publicField(this, "map");
|
|
81164
|
+
__publicField(this, "highlightLayer");
|
|
81165
|
+
__publicField(this, "highlightedFeatures", /* @__PURE__ */ new Map());
|
|
81166
|
+
__publicField(this, "styleConfig");
|
|
81167
|
+
__publicField(this, "featureIdCounter", 0);
|
|
81168
|
+
this.map = map2;
|
|
81169
|
+
this.styleConfig = { ...DEFAULT_HIGHLIGHT_STYLE, ...styleConfig };
|
|
81170
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81171
|
+
this.highlightLayer = new VectorLayer$3({
|
|
81172
|
+
source: new VectorSource$2(),
|
|
81173
|
+
style: this.createHighlightStyle.bind(this),
|
|
81174
|
+
zIndex: 9999
|
|
81175
|
+
// 确保高亮图层在最上层
|
|
81176
|
+
});
|
|
81177
|
+
this.map.addLayer(this.highlightLayer);
|
|
81178
|
+
}
|
|
81179
|
+
/**
|
|
81180
|
+
* 确保 highlightedFeatures 是有效的 Map 实例
|
|
81181
|
+
*/
|
|
81182
|
+
ensureHighlightedFeaturesMap() {
|
|
81183
|
+
if (!this.highlightedFeatures || !(this.highlightedFeatures instanceof Map)) {
|
|
81184
|
+
console.warn("FeatureHighlightManager: highlightedFeatures corrupted, reinitializing...");
|
|
81185
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81186
|
+
}
|
|
81187
|
+
}
|
|
81188
|
+
/**
|
|
81189
|
+
* 创建高亮样式
|
|
81190
|
+
*/
|
|
81191
|
+
createHighlightStyle(feature2) {
|
|
81192
|
+
var _a3, _b3, _c2, _d, _e2, _f;
|
|
81193
|
+
const geometry2 = feature2.getGeometry();
|
|
81194
|
+
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
81195
|
+
const styleOptions = {};
|
|
81196
|
+
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
81197
|
+
if (this.styleConfig.circle) {
|
|
81198
|
+
styleOptions.image = new Circle$8({
|
|
81199
|
+
radius: this.styleConfig.circle.radius || 8,
|
|
81200
|
+
fill: new Fill$2({
|
|
81201
|
+
color: ((_a3 = this.styleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
81202
|
+
}),
|
|
81203
|
+
stroke: new Stroke$2({
|
|
81204
|
+
color: ((_b3 = this.styleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
81205
|
+
width: ((_c2 = this.styleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
81206
|
+
})
|
|
81207
|
+
});
|
|
81208
|
+
}
|
|
81209
|
+
} else {
|
|
81210
|
+
if (this.styleConfig.fill) {
|
|
81211
|
+
styleOptions.fill = new Fill$2({
|
|
81212
|
+
color: this.styleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
81213
|
+
});
|
|
81214
|
+
}
|
|
81215
|
+
if (this.styleConfig.stroke) {
|
|
81216
|
+
styleOptions.stroke = new Stroke$2({
|
|
81217
|
+
color: this.styleConfig.stroke.color || "#ffff00",
|
|
81218
|
+
width: this.styleConfig.stroke.width || 3,
|
|
81219
|
+
lineDash: this.styleConfig.stroke.lineDash || [5, 5]
|
|
81220
|
+
});
|
|
81221
|
+
}
|
|
81222
|
+
}
|
|
81223
|
+
if (this.styleConfig.text) {
|
|
81224
|
+
const properties = feature2.getProperties();
|
|
81225
|
+
const labelText = properties.name || properties.label || "高亮要素";
|
|
81226
|
+
styleOptions.text = new Text$5({
|
|
81227
|
+
text: labelText,
|
|
81228
|
+
font: this.styleConfig.text.font || "12px Arial",
|
|
81229
|
+
fill: new Fill$2({
|
|
81230
|
+
color: ((_d = this.styleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
81231
|
+
}),
|
|
81232
|
+
stroke: new Stroke$2({
|
|
81233
|
+
color: ((_e2 = this.styleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
81234
|
+
width: ((_f = this.styleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
81235
|
+
}),
|
|
81236
|
+
offsetY: this.styleConfig.text.offsetY || -15,
|
|
81237
|
+
scale: this.styleConfig.text.scale || 1.2
|
|
81238
|
+
});
|
|
81239
|
+
}
|
|
81240
|
+
return new Style$3(styleOptions);
|
|
81241
|
+
}
|
|
81242
|
+
/**
|
|
81243
|
+
* 根据图层配置创建自定义高亮样式
|
|
81244
|
+
*/
|
|
81245
|
+
createCustomHighlightStyle(feature2, customStyleConfig) {
|
|
81246
|
+
var _a3, _b3, _c2, _d, _e2, _f, _g, _h, _i2, _j;
|
|
81247
|
+
const geometry2 = feature2.getGeometry();
|
|
81248
|
+
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
81249
|
+
const styleOptions = {};
|
|
81250
|
+
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
81251
|
+
if (customStyleConfig == null ? void 0 : customStyleConfig.circle) {
|
|
81252
|
+
styleOptions.image = new Circle$8({
|
|
81253
|
+
radius: customStyleConfig.circle.radius || 8,
|
|
81254
|
+
fill: new Fill$2({
|
|
81255
|
+
color: ((_a3 = customStyleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
81256
|
+
}),
|
|
81257
|
+
stroke: new Stroke$2({
|
|
81258
|
+
color: ((_b3 = customStyleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
81259
|
+
width: ((_c2 = customStyleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
81260
|
+
})
|
|
81261
|
+
});
|
|
81262
|
+
}
|
|
81263
|
+
} else {
|
|
81264
|
+
if ((customStyleConfig == null ? void 0 : customStyleConfig.fill) || (customStyleConfig == null ? void 0 : customStyleConfig.fillColor)) {
|
|
81265
|
+
const color2 = ((_d = customStyleConfig == null ? void 0 : customStyleConfig.fill) == null ? void 0 : _d.color) || (customStyleConfig == null ? void 0 : customStyleConfig.fillColor) || "rgba(255, 255, 0, 0.3)";
|
|
81266
|
+
styleOptions.fill = new Fill$2({
|
|
81267
|
+
color: color2
|
|
81268
|
+
});
|
|
81269
|
+
}
|
|
81270
|
+
if ((customStyleConfig == null ? void 0 : customStyleConfig.stroke) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeColor)) {
|
|
81271
|
+
const color2 = ((_e2 = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _e2.color) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeColor) || "#ffff00";
|
|
81272
|
+
const width = ((_f = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _f.width) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeWidth) || 3;
|
|
81273
|
+
const lineDash = ((_g = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _g.lineDash) || (customStyleConfig == null ? void 0 : customStyleConfig.lineDash) || [5, 5];
|
|
81274
|
+
styleOptions.stroke = new Stroke$2({
|
|
81275
|
+
color: color2,
|
|
81276
|
+
width,
|
|
81277
|
+
lineDash
|
|
81278
|
+
});
|
|
81279
|
+
}
|
|
81280
|
+
}
|
|
81281
|
+
if (customStyleConfig == null ? void 0 : customStyleConfig.text) {
|
|
81282
|
+
const properties = feature2.getProperties();
|
|
81283
|
+
const labelText = properties.name || properties.label || "高亮要素";
|
|
81284
|
+
styleOptions.text = new Text$5({
|
|
81285
|
+
text: labelText,
|
|
81286
|
+
font: customStyleConfig.text.font || "12px Arial",
|
|
81287
|
+
fill: new Fill$2({
|
|
81288
|
+
color: ((_h = customStyleConfig.text.fill) == null ? void 0 : _h.color) || "#000000"
|
|
81289
|
+
}),
|
|
81290
|
+
stroke: new Stroke$2({
|
|
81291
|
+
color: ((_i2 = customStyleConfig.text.stroke) == null ? void 0 : _i2.color) || "#ffffff",
|
|
81292
|
+
width: ((_j = customStyleConfig.text.stroke) == null ? void 0 : _j.width) || 2
|
|
81293
|
+
}),
|
|
81294
|
+
offsetX: customStyleConfig.text.offsetX || 0,
|
|
81295
|
+
offsetY: customStyleConfig.text.offsetY || -15,
|
|
81296
|
+
scale: customStyleConfig.text.scale || 1.2
|
|
81297
|
+
});
|
|
81298
|
+
}
|
|
81299
|
+
return new Style$3(styleOptions);
|
|
81300
|
+
}
|
|
81301
|
+
/**
|
|
81302
|
+
* 高亮要素
|
|
81303
|
+
*/
|
|
81304
|
+
highlightFeature(feature2, layerId, layerHighlightConfig) {
|
|
81305
|
+
var _a3;
|
|
81306
|
+
this.ensureHighlightedFeaturesMap();
|
|
81307
|
+
const existingId = this.isFeatureHighlighted(feature2);
|
|
81308
|
+
if (existingId) {
|
|
81309
|
+
return existingId;
|
|
81310
|
+
}
|
|
81311
|
+
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.clearOthersOnHighlight) {
|
|
81312
|
+
this.clearAllHighlights();
|
|
81313
|
+
}
|
|
81314
|
+
const featureId2 = `highlight_${++this.featureIdCounter}_${Date.now()}`;
|
|
81315
|
+
const highlightFeature = feature2.clone();
|
|
81316
|
+
highlightFeature.setId(featureId2);
|
|
81317
|
+
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.style) {
|
|
81318
|
+
const customStyle = this.createCustomHighlightStyle(highlightFeature, layerHighlightConfig.style);
|
|
81319
|
+
highlightFeature.setStyle(customStyle);
|
|
81320
|
+
}
|
|
81321
|
+
const originalStyle = feature2.getStyle();
|
|
81322
|
+
const highlightInfo = {
|
|
81323
|
+
originalFeature: feature2,
|
|
81324
|
+
highlightFeature,
|
|
81325
|
+
originalStyle,
|
|
81326
|
+
layerId
|
|
81327
|
+
};
|
|
81328
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.addFeature(highlightFeature);
|
|
81329
|
+
this.highlightedFeatures.set(featureId2, highlightInfo);
|
|
81330
|
+
return featureId2;
|
|
81331
|
+
}
|
|
81332
|
+
/**
|
|
81333
|
+
* 取消高亮要素
|
|
81334
|
+
*/
|
|
81335
|
+
unhighlightFeature(featureId2) {
|
|
81336
|
+
var _a3;
|
|
81337
|
+
this.ensureHighlightedFeaturesMap();
|
|
81338
|
+
const highlightInfo = this.highlightedFeatures.get(featureId2);
|
|
81339
|
+
if (!highlightInfo) {
|
|
81340
|
+
return false;
|
|
81341
|
+
}
|
|
81342
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.removeFeature(highlightInfo.highlightFeature);
|
|
81343
|
+
this.highlightedFeatures.delete(featureId2);
|
|
81344
|
+
return true;
|
|
81345
|
+
}
|
|
81346
|
+
/**
|
|
81347
|
+
* 清除所有高亮
|
|
81348
|
+
*/
|
|
81349
|
+
clearAllHighlights() {
|
|
81350
|
+
var _a3;
|
|
81351
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.clear();
|
|
81352
|
+
this.ensureHighlightedFeaturesMap();
|
|
81353
|
+
this.highlightedFeatures.clear();
|
|
81354
|
+
}
|
|
81355
|
+
/**
|
|
81356
|
+
* 获取当前高亮的要素数量
|
|
81357
|
+
*/
|
|
81358
|
+
getHighlightedCount() {
|
|
81359
|
+
this.ensureHighlightedFeaturesMap();
|
|
81360
|
+
return this.highlightedFeatures.size;
|
|
81361
|
+
}
|
|
81362
|
+
/**
|
|
81363
|
+
* 获取所有高亮要素的ID
|
|
81364
|
+
*/
|
|
81365
|
+
getHighlightedFeatureIds() {
|
|
81366
|
+
this.ensureHighlightedFeaturesMap();
|
|
81367
|
+
return Array.from(this.highlightedFeatures.keys());
|
|
81368
|
+
}
|
|
81369
|
+
/**
|
|
81370
|
+
* 检查要素是否已高亮
|
|
81371
|
+
*/
|
|
81372
|
+
isFeatureHighlighted(feature2) {
|
|
81373
|
+
this.ensureHighlightedFeaturesMap();
|
|
81374
|
+
if (!this.highlightedFeatures || typeof this.highlightedFeatures[Symbol.iterator] !== "function") {
|
|
81375
|
+
console.warn("FeatureHighlightManager: highlightedFeatures lost iterator, reinitializing...");
|
|
81376
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81377
|
+
return null;
|
|
81378
|
+
}
|
|
81379
|
+
try {
|
|
81380
|
+
const entries = Array.from(this.highlightedFeatures.entries());
|
|
81381
|
+
for (const [id, info] of entries) {
|
|
81382
|
+
if (info && info.originalFeature === feature2) {
|
|
81383
|
+
return id;
|
|
81384
|
+
}
|
|
81385
|
+
}
|
|
81386
|
+
} catch (error2) {
|
|
81387
|
+
console.error("Error iterating highlightedFeatures:", error2);
|
|
81388
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81389
|
+
return null;
|
|
81390
|
+
}
|
|
81391
|
+
return null;
|
|
81392
|
+
}
|
|
81393
|
+
/**
|
|
81394
|
+
* 更新高亮样式配置
|
|
81395
|
+
*/
|
|
81396
|
+
updateStyleConfig(newConfig) {
|
|
81397
|
+
var _a3;
|
|
81398
|
+
this.styleConfig = { ...this.styleConfig, ...newConfig };
|
|
81399
|
+
this.ensureHighlightedFeaturesMap();
|
|
81400
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.getFeatures().forEach((feature2) => {
|
|
81401
|
+
feature2.changed();
|
|
81402
|
+
});
|
|
81403
|
+
}
|
|
81404
|
+
/**
|
|
81405
|
+
* 获取当前样式配置
|
|
81406
|
+
*/
|
|
81407
|
+
getStyleConfig() {
|
|
81408
|
+
return { ...this.styleConfig };
|
|
81409
|
+
}
|
|
81410
|
+
/**
|
|
81411
|
+
* 销毁管理器
|
|
81412
|
+
*/
|
|
81413
|
+
destroy() {
|
|
81414
|
+
this.clearAllHighlights();
|
|
81415
|
+
this.map.removeLayer(this.highlightLayer);
|
|
81416
|
+
}
|
|
81417
|
+
}
|
|
81124
81418
|
class GeoJSONLocationTool {
|
|
81125
|
-
constructor(map2) {
|
|
81419
|
+
constructor(map2, featureHighlightManager) {
|
|
81126
81420
|
__publicField(this, "map");
|
|
81127
81421
|
__publicField(this, "format");
|
|
81422
|
+
__publicField(this, "featureHighlightManager");
|
|
81128
81423
|
this.map = map2;
|
|
81129
81424
|
this.format = new GeoJSON$4();
|
|
81425
|
+
this.featureHighlightManager = featureHighlightManager;
|
|
81130
81426
|
}
|
|
81131
81427
|
/**
|
|
81132
81428
|
* 定位到 GeoJSON 数据
|
|
@@ -81198,6 +81494,18 @@ class GeoJSONLocationTool {
|
|
|
81198
81494
|
duration: fitOptions.duration,
|
|
81199
81495
|
minZoom: fitOptions.minZoom
|
|
81200
81496
|
});
|
|
81497
|
+
if ((fitOptions.highlight || fitOptions.style) && this.featureHighlightManager) {
|
|
81498
|
+
if (fitOptions.clearPrevious !== false) {
|
|
81499
|
+
this.featureHighlightManager.clearAllHighlights();
|
|
81500
|
+
}
|
|
81501
|
+
const highlightConfig = {
|
|
81502
|
+
style: fitOptions.style,
|
|
81503
|
+
clearOthersOnHighlight: false
|
|
81504
|
+
};
|
|
81505
|
+
features2.forEach((feature2) => {
|
|
81506
|
+
this.featureHighlightManager.highlightFeature(feature2, "location_highlight", highlightConfig);
|
|
81507
|
+
});
|
|
81508
|
+
}
|
|
81201
81509
|
if (fitOptions.showMessage) {
|
|
81202
81510
|
}
|
|
81203
81511
|
return true;
|
|
@@ -81246,6 +81554,16 @@ class GeoJSONLocationTool {
|
|
|
81246
81554
|
zoom: targetZoom,
|
|
81247
81555
|
duration: (options == null ? void 0 : options.duration) || 1e3
|
|
81248
81556
|
});
|
|
81557
|
+
if (((options == null ? void 0 : options.highlight) || (options == null ? void 0 : options.style)) && this.featureHighlightManager) {
|
|
81558
|
+
if (options.clearPrevious !== false) {
|
|
81559
|
+
this.featureHighlightManager.clearAllHighlights();
|
|
81560
|
+
}
|
|
81561
|
+
const highlightConfig = {
|
|
81562
|
+
style: options.style,
|
|
81563
|
+
clearOthersOnHighlight: false
|
|
81564
|
+
};
|
|
81565
|
+
this.featureHighlightManager.highlightFeature(feature2, "location_center_highlight", highlightConfig);
|
|
81566
|
+
}
|
|
81249
81567
|
if ((options == null ? void 0 : options.showMessage) !== false) {
|
|
81250
81568
|
}
|
|
81251
81569
|
return true;
|
|
@@ -82876,7 +83194,8 @@ class StyleFactory {
|
|
|
82876
83194
|
rotation: config.rotation,
|
|
82877
83195
|
backgroundFill: this.createFill(config.backgroundFill),
|
|
82878
83196
|
backgroundStroke: this.createStroke(config.backgroundStroke),
|
|
82879
|
-
padding: config.padding
|
|
83197
|
+
padding: config.padding,
|
|
83198
|
+
overflow: config.overflow
|
|
82880
83199
|
});
|
|
82881
83200
|
return textStyle;
|
|
82882
83201
|
}
|
|
@@ -83184,8 +83503,12 @@ const _StyleManager = class _StyleManager {
|
|
|
83184
83503
|
var _a3;
|
|
83185
83504
|
const geometryType = StyleFactory.getFeatureGeometryType(feature2);
|
|
83186
83505
|
const defaultConfig = this.getDefaultStyle(geometryType);
|
|
83187
|
-
const
|
|
83188
|
-
|
|
83506
|
+
const layerConfig = styleConfig == null ? void 0 : styleConfig[geometryType];
|
|
83507
|
+
let finalConfig = this.mergeStyleConfig(defaultConfig, layerConfig);
|
|
83508
|
+
const featureStyle = feature2.get("style");
|
|
83509
|
+
if (featureStyle) {
|
|
83510
|
+
finalConfig = this.mergeStyleConfig(finalConfig, featureStyle);
|
|
83511
|
+
}
|
|
83189
83512
|
if (finalConfig && finalConfig.text) {
|
|
83190
83513
|
const textCfg = { ...finalConfig.text };
|
|
83191
83514
|
let content2 = textCfg.text;
|
|
@@ -83338,6 +83661,20 @@ class GeoJSONLayerHandler extends BaseLayer$2 {
|
|
|
83338
83661
|
* 创建样式函数
|
|
83339
83662
|
*/
|
|
83340
83663
|
createStyleFunction() {
|
|
83664
|
+
if (this.config.styleFunction) {
|
|
83665
|
+
const userFn = this.config.styleFunction;
|
|
83666
|
+
return (feature2, resolution) => {
|
|
83667
|
+
const result = userFn(feature2, resolution || 0);
|
|
83668
|
+
if (result instanceof Style$3 || Array.isArray(result) && result[0] instanceof Style$3) {
|
|
83669
|
+
return result;
|
|
83670
|
+
}
|
|
83671
|
+
if (result && typeof result === "object") {
|
|
83672
|
+
const geometryType = StyleFactory.getFeatureGeometryType(feature2);
|
|
83673
|
+
return StyleFactory.createStyleByGeometryType(geometryType, result);
|
|
83674
|
+
}
|
|
83675
|
+
return [];
|
|
83676
|
+
};
|
|
83677
|
+
}
|
|
83341
83678
|
this.parseStyleConfig();
|
|
83342
83679
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
83343
83680
|
}
|
|
@@ -85627,6 +85964,9 @@ class ImageVectorLayerHandler extends BaseLayer$2 {
|
|
|
85627
85964
|
* 创建样式函数
|
|
85628
85965
|
*/
|
|
85629
85966
|
createStyleFunction() {
|
|
85967
|
+
if (this.config.styleFunction) {
|
|
85968
|
+
return this.config.styleFunction;
|
|
85969
|
+
}
|
|
85630
85970
|
this.parseStyleConfig();
|
|
85631
85971
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
85632
85972
|
}
|
|
@@ -465983,6 +466323,9 @@ class VectorTileLayerHandler extends BaseLayer$2 {
|
|
|
465983
466323
|
* 创建样式函数
|
|
465984
466324
|
*/
|
|
465985
466325
|
createStyleFunction() {
|
|
466326
|
+
if (this.config.styleFunction) {
|
|
466327
|
+
return this.config.styleFunction;
|
|
466328
|
+
}
|
|
465986
466329
|
if (this.styleConfig) {
|
|
465987
466330
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
465988
466331
|
}
|
|
@@ -467574,298 +467917,8 @@ class LayerManager {
|
|
|
467574
467917
|
this.layerConfigs.clear();
|
|
467575
467918
|
}
|
|
467576
467919
|
}
|
|
467577
|
-
const
|
|
467578
|
-
|
|
467579
|
-
color: "rgba(255, 255, 0, 0.3)",
|
|
467580
|
-
// 黄色半透明填充
|
|
467581
|
-
opacity: 0.3
|
|
467582
|
-
},
|
|
467583
|
-
stroke: {
|
|
467584
|
-
color: "#ffff00",
|
|
467585
|
-
// 黄色描边
|
|
467586
|
-
width: 3,
|
|
467587
|
-
lineDash: [5, 5]
|
|
467588
|
-
// 虚线
|
|
467589
|
-
},
|
|
467590
|
-
circle: {
|
|
467591
|
-
radius: 8,
|
|
467592
|
-
fill: {
|
|
467593
|
-
color: "rgba(255, 255, 0, 0.6)",
|
|
467594
|
-
opacity: 0.6
|
|
467595
|
-
},
|
|
467596
|
-
stroke: {
|
|
467597
|
-
color: "#ffff00",
|
|
467598
|
-
width: 3
|
|
467599
|
-
}
|
|
467600
|
-
},
|
|
467601
|
-
text: {
|
|
467602
|
-
font: "12px Arial",
|
|
467603
|
-
fill: {
|
|
467604
|
-
color: "#000000"
|
|
467605
|
-
},
|
|
467606
|
-
stroke: {
|
|
467607
|
-
color: "#ffffff",
|
|
467608
|
-
width: 2
|
|
467609
|
-
},
|
|
467610
|
-
offsetY: -15,
|
|
467611
|
-
scale: 1.2
|
|
467612
|
-
}
|
|
467613
|
-
};
|
|
467614
|
-
class FeatureHighlightManager {
|
|
467615
|
-
constructor(map2, styleConfig) {
|
|
467616
|
-
__publicField(this, "map");
|
|
467617
|
-
__publicField(this, "highlightLayer");
|
|
467618
|
-
__publicField(this, "highlightedFeatures", /* @__PURE__ */ new Map());
|
|
467619
|
-
__publicField(this, "styleConfig");
|
|
467620
|
-
__publicField(this, "featureIdCounter", 0);
|
|
467621
|
-
this.map = map2;
|
|
467622
|
-
this.styleConfig = { ...DEFAULT_HIGHLIGHT_STYLE, ...styleConfig };
|
|
467623
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
467624
|
-
this.highlightLayer = new VectorLayer$3({
|
|
467625
|
-
source: new VectorSource$2(),
|
|
467626
|
-
style: this.createHighlightStyle.bind(this),
|
|
467627
|
-
zIndex: 9999
|
|
467628
|
-
// 确保高亮图层在最上层
|
|
467629
|
-
});
|
|
467630
|
-
this.map.addLayer(this.highlightLayer);
|
|
467631
|
-
}
|
|
467632
|
-
/**
|
|
467633
|
-
* 确保 highlightedFeatures 是有效的 Map 实例
|
|
467634
|
-
*/
|
|
467635
|
-
ensureHighlightedFeaturesMap() {
|
|
467636
|
-
if (!this.highlightedFeatures || !(this.highlightedFeatures instanceof Map)) {
|
|
467637
|
-
console.warn("FeatureHighlightManager: highlightedFeatures corrupted, reinitializing...");
|
|
467638
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
467639
|
-
}
|
|
467640
|
-
}
|
|
467641
|
-
/**
|
|
467642
|
-
* 创建高亮样式
|
|
467643
|
-
*/
|
|
467644
|
-
createHighlightStyle(feature2) {
|
|
467645
|
-
var _a3, _b3, _c2, _d, _e2, _f;
|
|
467646
|
-
const geometry2 = feature2.getGeometry();
|
|
467647
|
-
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
467648
|
-
const styleOptions = {};
|
|
467649
|
-
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
467650
|
-
if (this.styleConfig.circle) {
|
|
467651
|
-
styleOptions.image = new Circle$8({
|
|
467652
|
-
radius: this.styleConfig.circle.radius || 8,
|
|
467653
|
-
fill: new Fill$2({
|
|
467654
|
-
color: ((_a3 = this.styleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
467655
|
-
}),
|
|
467656
|
-
stroke: new Stroke$2({
|
|
467657
|
-
color: ((_b3 = this.styleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
467658
|
-
width: ((_c2 = this.styleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
467659
|
-
})
|
|
467660
|
-
});
|
|
467661
|
-
}
|
|
467662
|
-
} else {
|
|
467663
|
-
if (this.styleConfig.fill) {
|
|
467664
|
-
styleOptions.fill = new Fill$2({
|
|
467665
|
-
color: this.styleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
467666
|
-
});
|
|
467667
|
-
}
|
|
467668
|
-
if (this.styleConfig.stroke) {
|
|
467669
|
-
styleOptions.stroke = new Stroke$2({
|
|
467670
|
-
color: this.styleConfig.stroke.color || "#ffff00",
|
|
467671
|
-
width: this.styleConfig.stroke.width || 3,
|
|
467672
|
-
lineDash: this.styleConfig.stroke.lineDash || [5, 5]
|
|
467673
|
-
});
|
|
467674
|
-
}
|
|
467675
|
-
}
|
|
467676
|
-
if (this.styleConfig.text) {
|
|
467677
|
-
const properties = feature2.getProperties();
|
|
467678
|
-
const labelText = properties.name || properties.label || "高亮要素";
|
|
467679
|
-
styleOptions.text = new Text$5({
|
|
467680
|
-
text: labelText,
|
|
467681
|
-
font: this.styleConfig.text.font || "12px Arial",
|
|
467682
|
-
fill: new Fill$2({
|
|
467683
|
-
color: ((_d = this.styleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
467684
|
-
}),
|
|
467685
|
-
stroke: new Stroke$2({
|
|
467686
|
-
color: ((_e2 = this.styleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
467687
|
-
width: ((_f = this.styleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
467688
|
-
}),
|
|
467689
|
-
offsetY: this.styleConfig.text.offsetY || -15,
|
|
467690
|
-
scale: this.styleConfig.text.scale || 1.2
|
|
467691
|
-
});
|
|
467692
|
-
}
|
|
467693
|
-
return new Style$3(styleOptions);
|
|
467694
|
-
}
|
|
467695
|
-
/**
|
|
467696
|
-
* 根据图层配置创建自定义高亮样式
|
|
467697
|
-
*/
|
|
467698
|
-
createCustomHighlightStyle(feature2, customStyleConfig) {
|
|
467699
|
-
var _a3, _b3, _c2, _d, _e2, _f;
|
|
467700
|
-
const geometry2 = feature2.getGeometry();
|
|
467701
|
-
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
467702
|
-
const styleOptions = {};
|
|
467703
|
-
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
467704
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.circle) {
|
|
467705
|
-
styleOptions.image = new Circle$8({
|
|
467706
|
-
radius: customStyleConfig.circle.radius || 8,
|
|
467707
|
-
fill: new Fill$2({
|
|
467708
|
-
color: ((_a3 = customStyleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
467709
|
-
}),
|
|
467710
|
-
stroke: new Stroke$2({
|
|
467711
|
-
color: ((_b3 = customStyleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
467712
|
-
width: ((_c2 = customStyleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
467713
|
-
})
|
|
467714
|
-
});
|
|
467715
|
-
}
|
|
467716
|
-
} else {
|
|
467717
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.fill) {
|
|
467718
|
-
styleOptions.fill = new Fill$2({
|
|
467719
|
-
color: customStyleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
467720
|
-
});
|
|
467721
|
-
}
|
|
467722
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.stroke) {
|
|
467723
|
-
styleOptions.stroke = new Stroke$2({
|
|
467724
|
-
color: customStyleConfig.stroke.color || "#ffff00",
|
|
467725
|
-
width: customStyleConfig.stroke.width || 3,
|
|
467726
|
-
lineDash: customStyleConfig.stroke.lineDash || [5, 5]
|
|
467727
|
-
});
|
|
467728
|
-
}
|
|
467729
|
-
}
|
|
467730
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.text) {
|
|
467731
|
-
const properties = feature2.getProperties();
|
|
467732
|
-
const labelText = properties.name || properties.label || "高亮要素";
|
|
467733
|
-
styleOptions.text = new Text$5({
|
|
467734
|
-
text: labelText,
|
|
467735
|
-
font: customStyleConfig.text.font || "12px Arial",
|
|
467736
|
-
fill: new Fill$2({
|
|
467737
|
-
color: ((_d = customStyleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
467738
|
-
}),
|
|
467739
|
-
stroke: new Stroke$2({
|
|
467740
|
-
color: ((_e2 = customStyleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
467741
|
-
width: ((_f = customStyleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
467742
|
-
}),
|
|
467743
|
-
offsetX: customStyleConfig.text.offsetX || 0,
|
|
467744
|
-
offsetY: customStyleConfig.text.offsetY || -15,
|
|
467745
|
-
scale: customStyleConfig.text.scale || 1.2
|
|
467746
|
-
});
|
|
467747
|
-
}
|
|
467748
|
-
return new Style$3(styleOptions);
|
|
467749
|
-
}
|
|
467750
|
-
/**
|
|
467751
|
-
* 高亮要素
|
|
467752
|
-
*/
|
|
467753
|
-
highlightFeature(feature2, layerId, layerHighlightConfig) {
|
|
467754
|
-
var _a3;
|
|
467755
|
-
this.ensureHighlightedFeaturesMap();
|
|
467756
|
-
const existingId = this.isFeatureHighlighted(feature2);
|
|
467757
|
-
if (existingId) {
|
|
467758
|
-
return existingId;
|
|
467759
|
-
}
|
|
467760
|
-
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.clearOthersOnHighlight) {
|
|
467761
|
-
this.clearAllHighlights();
|
|
467762
|
-
}
|
|
467763
|
-
const featureId2 = `highlight_${++this.featureIdCounter}_${Date.now()}`;
|
|
467764
|
-
const highlightFeature = feature2.clone();
|
|
467765
|
-
highlightFeature.setId(featureId2);
|
|
467766
|
-
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.style) {
|
|
467767
|
-
const customStyle = this.createCustomHighlightStyle(highlightFeature, layerHighlightConfig.style);
|
|
467768
|
-
highlightFeature.setStyle(customStyle);
|
|
467769
|
-
}
|
|
467770
|
-
const originalStyle = feature2.getStyle();
|
|
467771
|
-
const highlightInfo = {
|
|
467772
|
-
originalFeature: feature2,
|
|
467773
|
-
highlightFeature,
|
|
467774
|
-
originalStyle,
|
|
467775
|
-
layerId
|
|
467776
|
-
};
|
|
467777
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.addFeature(highlightFeature);
|
|
467778
|
-
this.highlightedFeatures.set(featureId2, highlightInfo);
|
|
467779
|
-
return featureId2;
|
|
467780
|
-
}
|
|
467781
|
-
/**
|
|
467782
|
-
* 取消高亮要素
|
|
467783
|
-
*/
|
|
467784
|
-
unhighlightFeature(featureId2) {
|
|
467785
|
-
var _a3;
|
|
467786
|
-
this.ensureHighlightedFeaturesMap();
|
|
467787
|
-
const highlightInfo = this.highlightedFeatures.get(featureId2);
|
|
467788
|
-
if (!highlightInfo) {
|
|
467789
|
-
return false;
|
|
467790
|
-
}
|
|
467791
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.removeFeature(highlightInfo.highlightFeature);
|
|
467792
|
-
this.highlightedFeatures.delete(featureId2);
|
|
467793
|
-
return true;
|
|
467794
|
-
}
|
|
467795
|
-
/**
|
|
467796
|
-
* 清除所有高亮
|
|
467797
|
-
*/
|
|
467798
|
-
clearAllHighlights() {
|
|
467799
|
-
var _a3;
|
|
467800
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.clear();
|
|
467801
|
-
this.ensureHighlightedFeaturesMap();
|
|
467802
|
-
this.highlightedFeatures.clear();
|
|
467803
|
-
}
|
|
467804
|
-
/**
|
|
467805
|
-
* 获取当前高亮的要素数量
|
|
467806
|
-
*/
|
|
467807
|
-
getHighlightedCount() {
|
|
467808
|
-
this.ensureHighlightedFeaturesMap();
|
|
467809
|
-
return this.highlightedFeatures.size;
|
|
467810
|
-
}
|
|
467811
|
-
/**
|
|
467812
|
-
* 获取所有高亮要素的ID
|
|
467813
|
-
*/
|
|
467814
|
-
getHighlightedFeatureIds() {
|
|
467815
|
-
this.ensureHighlightedFeaturesMap();
|
|
467816
|
-
return Array.from(this.highlightedFeatures.keys());
|
|
467817
|
-
}
|
|
467818
|
-
/**
|
|
467819
|
-
* 检查要素是否已高亮
|
|
467820
|
-
*/
|
|
467821
|
-
isFeatureHighlighted(feature2) {
|
|
467822
|
-
this.ensureHighlightedFeaturesMap();
|
|
467823
|
-
if (!this.highlightedFeatures || typeof this.highlightedFeatures[Symbol.iterator] !== "function") {
|
|
467824
|
-
console.warn("FeatureHighlightManager: highlightedFeatures lost iterator, reinitializing...");
|
|
467825
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
467826
|
-
return null;
|
|
467827
|
-
}
|
|
467828
|
-
try {
|
|
467829
|
-
const entries = Array.from(this.highlightedFeatures.entries());
|
|
467830
|
-
for (const [id, info] of entries) {
|
|
467831
|
-
if (info && info.originalFeature === feature2) {
|
|
467832
|
-
return id;
|
|
467833
|
-
}
|
|
467834
|
-
}
|
|
467835
|
-
} catch (error2) {
|
|
467836
|
-
console.error("Error iterating highlightedFeatures:", error2);
|
|
467837
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
467838
|
-
return null;
|
|
467839
|
-
}
|
|
467840
|
-
return null;
|
|
467841
|
-
}
|
|
467842
|
-
/**
|
|
467843
|
-
* 更新高亮样式配置
|
|
467844
|
-
*/
|
|
467845
|
-
updateStyleConfig(newConfig) {
|
|
467846
|
-
var _a3;
|
|
467847
|
-
this.styleConfig = { ...this.styleConfig, ...newConfig };
|
|
467848
|
-
this.ensureHighlightedFeaturesMap();
|
|
467849
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.getFeatures().forEach((feature2) => {
|
|
467850
|
-
feature2.changed();
|
|
467851
|
-
});
|
|
467852
|
-
}
|
|
467853
|
-
/**
|
|
467854
|
-
* 获取当前样式配置
|
|
467855
|
-
*/
|
|
467856
|
-
getStyleConfig() {
|
|
467857
|
-
return { ...this.styleConfig };
|
|
467858
|
-
}
|
|
467859
|
-
/**
|
|
467860
|
-
* 销毁管理器
|
|
467861
|
-
*/
|
|
467862
|
-
destroy() {
|
|
467863
|
-
this.clearAllHighlights();
|
|
467864
|
-
this.map.removeLayer(this.highlightLayer);
|
|
467865
|
-
}
|
|
467866
|
-
}
|
|
467867
|
-
const _hoisted_1$p = ["id"];
|
|
467868
|
-
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
467920
|
+
const _hoisted_1$q = ["id"];
|
|
467921
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
467869
467922
|
__name: "BasePopup",
|
|
467870
467923
|
props: {
|
|
467871
467924
|
config: {},
|
|
@@ -467983,7 +468036,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
467983
468036
|
}, [
|
|
467984
468037
|
createElementVNode("div", {
|
|
467985
468038
|
id: `popup-slot-${_ctx.id}`
|
|
467986
|
-
}, null, 8, _hoisted_1$
|
|
468039
|
+
}, null, 8, _hoisted_1$q),
|
|
467987
468040
|
renderSlot(_ctx.$slots, "default", {
|
|
467988
468041
|
feature: _ctx.feature,
|
|
467989
468042
|
coordinate: _ctx.coordinate,
|
|
@@ -467998,13 +468051,13 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
467998
468051
|
};
|
|
467999
468052
|
}
|
|
468000
468053
|
});
|
|
468001
|
-
const _hoisted_1$
|
|
468002
|
-
const _hoisted_2$
|
|
468054
|
+
const _hoisted_1$p = { class: "html-popup-content" };
|
|
468055
|
+
const _hoisted_2$n = {
|
|
468003
468056
|
key: 0,
|
|
468004
468057
|
class: "html-popup-title"
|
|
468005
468058
|
};
|
|
468006
|
-
const _hoisted_3$
|
|
468007
|
-
const _sfc_main$
|
|
468059
|
+
const _hoisted_3$m = ["innerHTML"];
|
|
468060
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
468008
468061
|
__name: "HtmlPopup",
|
|
468009
468062
|
props: {
|
|
468010
468063
|
config: {},
|
|
@@ -468052,7 +468105,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
468052
468105
|
return sanitizeHtml(content2);
|
|
468053
468106
|
});
|
|
468054
468107
|
return (_ctx, _cache) => {
|
|
468055
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468108
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
468056
468109
|
config: _ctx.config,
|
|
468057
468110
|
coordinate: _ctx.coordinate,
|
|
468058
468111
|
feature: _ctx.feature,
|
|
@@ -468065,12 +468118,12 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
468065
468118
|
default: withCtx(() => {
|
|
468066
468119
|
var _a3;
|
|
468067
468120
|
return [
|
|
468068
|
-
createElementVNode("div", _hoisted_1$
|
|
468069
|
-
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
468121
|
+
createElementVNode("div", _hoisted_1$p, [
|
|
468122
|
+
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (openBlock(), createElementBlock("div", _hoisted_2$n, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
468070
468123
|
createElementVNode("div", {
|
|
468071
468124
|
class: "html-popup-body",
|
|
468072
468125
|
innerHTML: resolveContent()
|
|
468073
|
-
}, null, 8, _hoisted_3$
|
|
468126
|
+
}, null, 8, _hoisted_3$m)
|
|
468074
468127
|
])
|
|
468075
468128
|
];
|
|
468076
468129
|
}),
|
|
@@ -468079,17 +468132,17 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
468079
468132
|
};
|
|
468080
468133
|
}
|
|
468081
468134
|
});
|
|
468082
|
-
const _hoisted_1$
|
|
468083
|
-
const _hoisted_2$
|
|
468135
|
+
const _hoisted_1$o = { class: "image-popup-content" };
|
|
468136
|
+
const _hoisted_2$m = {
|
|
468084
468137
|
key: 0,
|
|
468085
468138
|
class: "image-popup-title"
|
|
468086
468139
|
};
|
|
468087
|
-
const _hoisted_3$
|
|
468140
|
+
const _hoisted_3$l = {
|
|
468088
468141
|
key: 1,
|
|
468089
468142
|
class: "image-popup-description"
|
|
468090
468143
|
};
|
|
468091
|
-
const _hoisted_4$
|
|
468092
|
-
const _hoisted_5$
|
|
468144
|
+
const _hoisted_4$l = { class: "image-popup-main" };
|
|
468145
|
+
const _hoisted_5$l = { class: "image-container" };
|
|
468093
468146
|
const _hoisted_6$h = ["src", "alt"];
|
|
468094
468147
|
const _hoisted_7$f = {
|
|
468095
468148
|
key: 0,
|
|
@@ -468119,7 +468172,7 @@ const _hoisted_14$8 = {
|
|
|
468119
468172
|
};
|
|
468120
468173
|
const _hoisted_15$7 = { class: "fullscreen-container" };
|
|
468121
468174
|
const _hoisted_16$7 = ["src", "alt"];
|
|
468122
|
-
const _sfc_main$
|
|
468175
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
468123
468176
|
__name: "ImagePopup",
|
|
468124
468177
|
props: {
|
|
468125
468178
|
config: {},
|
|
@@ -468252,7 +468305,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
468252
468305
|
document.removeEventListener("keydown", handleKeydown);
|
|
468253
468306
|
});
|
|
468254
468307
|
return (_ctx, _cache) => {
|
|
468255
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468308
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
468256
468309
|
config: _ctx.config,
|
|
468257
468310
|
coordinate: _ctx.coordinate,
|
|
468258
468311
|
feature: _ctx.feature,
|
|
@@ -468263,11 +468316,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
468263
468316
|
onHide: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("hide"))
|
|
468264
468317
|
}, {
|
|
468265
468318
|
default: withCtx(() => [
|
|
468266
|
-
createElementVNode("div", _hoisted_1$
|
|
468267
|
-
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
468268
|
-
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
468269
|
-
createElementVNode("div", _hoisted_4$
|
|
468270
|
-
createElementVNode("div", _hoisted_5$
|
|
468319
|
+
createElementVNode("div", _hoisted_1$o, [
|
|
468320
|
+
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$m, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
468321
|
+
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$l, toDisplayString(_ctx.config.description), 1)) : createCommentVNode("", true),
|
|
468322
|
+
createElementVNode("div", _hoisted_4$l, [
|
|
468323
|
+
createElementVNode("div", _hoisted_5$l, [
|
|
468271
468324
|
createElementVNode("img", {
|
|
468272
468325
|
src: currentImage.value,
|
|
468273
468326
|
alt: `图片 ${currentIndex.value + 1}`,
|
|
@@ -468373,20 +468426,20 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
468373
468426
|
};
|
|
468374
468427
|
}
|
|
468375
468428
|
});
|
|
468376
|
-
const _hoisted_1$
|
|
468377
|
-
const _hoisted_2$
|
|
468429
|
+
const _hoisted_1$n = { class: "array-popup-content" };
|
|
468430
|
+
const _hoisted_2$l = {
|
|
468378
468431
|
key: 0,
|
|
468379
468432
|
class: "array-popup-title"
|
|
468380
468433
|
};
|
|
468381
|
-
const _hoisted_3$
|
|
468434
|
+
const _hoisted_3$k = {
|
|
468382
468435
|
key: 1,
|
|
468383
468436
|
class: "array-popup-description"
|
|
468384
468437
|
};
|
|
468385
|
-
const _hoisted_4$
|
|
468438
|
+
const _hoisted_4$k = {
|
|
468386
468439
|
key: 2,
|
|
468387
468440
|
class: "view-switch"
|
|
468388
468441
|
};
|
|
468389
|
-
const _hoisted_5$
|
|
468442
|
+
const _hoisted_5$k = {
|
|
468390
468443
|
key: 3,
|
|
468391
468444
|
class: "search-container"
|
|
468392
468445
|
};
|
|
@@ -468450,7 +468503,7 @@ const _hoisted_43$1 = {
|
|
|
468450
468503
|
class: "empty-data"
|
|
468451
468504
|
};
|
|
468452
468505
|
const _hoisted_44$1 = { class: "empty-text" };
|
|
468453
|
-
const _sfc_main$
|
|
468506
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
468454
468507
|
__name: "ArrayPopup",
|
|
468455
468508
|
props: {
|
|
468456
468509
|
config: {},
|
|
@@ -468596,7 +468649,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468596
468649
|
}
|
|
468597
468650
|
});
|
|
468598
468651
|
return (_ctx, _cache) => {
|
|
468599
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468652
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
468600
468653
|
config: _ctx.config,
|
|
468601
468654
|
coordinate: _ctx.coordinate,
|
|
468602
468655
|
feature: _ctx.feature,
|
|
@@ -468607,10 +468660,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468607
468660
|
onHide: _cache[8] || (_cache[8] = ($event) => _ctx.$emit("hide"))
|
|
468608
468661
|
}, {
|
|
468609
468662
|
default: withCtx(() => [
|
|
468610
|
-
createElementVNode("div", _hoisted_1$
|
|
468611
|
-
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
468612
|
-
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
468613
|
-
_ctx.config.allowViewSwitch ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
468663
|
+
createElementVNode("div", _hoisted_1$n, [
|
|
468664
|
+
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$l, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
468665
|
+
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$k, toDisplayString(_ctx.config.description), 1)) : createCommentVNode("", true),
|
|
468666
|
+
_ctx.config.allowViewSwitch ? (openBlock(), createElementBlock("div", _hoisted_4$k, [
|
|
468614
468667
|
createVNode$1(unref(ElButton), {
|
|
468615
468668
|
class: normalizeClass(["view-btn", { active: currentView.value === "table" }]),
|
|
468616
468669
|
onClick: _cache[0] || (_cache[0] = ($event) => setView("table")),
|
|
@@ -468645,7 +468698,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468645
468698
|
_: 1
|
|
468646
468699
|
}, 8, ["class", "type"])
|
|
468647
468700
|
])) : createCommentVNode("", true),
|
|
468648
|
-
_ctx.config.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
468701
|
+
_ctx.config.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$k, [
|
|
468649
468702
|
createVNode$1(unref(ElInput), {
|
|
468650
468703
|
modelValue: searchQuery.value,
|
|
468651
468704
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchQuery.value = $event),
|
|
@@ -469030,7 +469083,7 @@ class PopupManager {
|
|
|
469030
469083
|
let app = null;
|
|
469031
469084
|
switch (type) {
|
|
469032
469085
|
case "html":
|
|
469033
|
-
app = createApp(_sfc_main$
|
|
469086
|
+
app = createApp(_sfc_main$q, {
|
|
469034
469087
|
id: popupId,
|
|
469035
469088
|
config: { ...this.config.defaultConfig, ...config },
|
|
469036
469089
|
coordinate,
|
|
@@ -469040,7 +469093,7 @@ class PopupManager {
|
|
|
469040
469093
|
});
|
|
469041
469094
|
break;
|
|
469042
469095
|
case "image":
|
|
469043
|
-
app = createApp(_sfc_main$
|
|
469096
|
+
app = createApp(_sfc_main$p, {
|
|
469044
469097
|
id: popupId,
|
|
469045
469098
|
config: { ...this.config.defaultConfig, ...config },
|
|
469046
469099
|
coordinate,
|
|
@@ -469050,7 +469103,7 @@ class PopupManager {
|
|
|
469050
469103
|
});
|
|
469051
469104
|
break;
|
|
469052
469105
|
case "array":
|
|
469053
|
-
app = createApp(_sfc_main$
|
|
469106
|
+
app = createApp(_sfc_main$o, {
|
|
469054
469107
|
id: popupId,
|
|
469055
469108
|
config: { ...this.config.defaultConfig, ...config },
|
|
469056
469109
|
coordinate,
|
|
@@ -469066,7 +469119,7 @@ class PopupManager {
|
|
|
469066
469119
|
case "all":
|
|
469067
469120
|
const allConfig = config;
|
|
469068
469121
|
if (allConfig.htmlContent) {
|
|
469069
|
-
app = createApp(_sfc_main$
|
|
469122
|
+
app = createApp(_sfc_main$q, {
|
|
469070
469123
|
id: popupId,
|
|
469071
469124
|
config: {
|
|
469072
469125
|
...allConfig,
|
|
@@ -469078,7 +469131,7 @@ class PopupManager {
|
|
|
469078
469131
|
onClose: () => this.closePopup(popupId)
|
|
469079
469132
|
});
|
|
469080
469133
|
} else if (allConfig.images) {
|
|
469081
|
-
app = createApp(_sfc_main$
|
|
469134
|
+
app = createApp(_sfc_main$p, {
|
|
469082
469135
|
id: popupId,
|
|
469083
469136
|
config: {
|
|
469084
469137
|
...allConfig,
|
|
@@ -469090,7 +469143,7 @@ class PopupManager {
|
|
|
469090
469143
|
onClose: () => this.closePopup(popupId)
|
|
469091
469144
|
});
|
|
469092
469145
|
} else if (allConfig.data) {
|
|
469093
|
-
app = createApp(_sfc_main$
|
|
469146
|
+
app = createApp(_sfc_main$o, {
|
|
469094
469147
|
id: popupId,
|
|
469095
469148
|
config: {
|
|
469096
469149
|
...allConfig,
|
|
@@ -469106,7 +469159,7 @@ class PopupManager {
|
|
|
469106
469159
|
}
|
|
469107
469160
|
});
|
|
469108
469161
|
} else {
|
|
469109
|
-
app = createApp(_sfc_main$
|
|
469162
|
+
app = createApp(_sfc_main$r, {
|
|
469110
469163
|
id: popupId,
|
|
469111
469164
|
config: allConfig,
|
|
469112
469165
|
coordinate,
|
|
@@ -469129,7 +469182,7 @@ class PopupManager {
|
|
|
469129
469182
|
},
|
|
469130
469183
|
render() {
|
|
469131
469184
|
return h$4(
|
|
469132
|
-
_sfc_main$
|
|
469185
|
+
_sfc_main$r,
|
|
469133
469186
|
{ config: this.cfg, coordinate: this.coordinate, feature: this.feature, visible: true, id: popupId, onClose: this.onClose },
|
|
469134
469187
|
{ default: () => h$4(this.CustomComp, { ...this.computedProps, feature: this.feature, coordinate: this.coordinate, config: this.cfg }) }
|
|
469135
469188
|
);
|
|
@@ -469384,28 +469437,47 @@ class MapManager {
|
|
|
469384
469437
|
}
|
|
469385
469438
|
}
|
|
469386
469439
|
/**
|
|
469387
|
-
*
|
|
469440
|
+
* 查找匹配的图层配置(支持递归查找子图层)
|
|
469388
469441
|
*/
|
|
469389
469442
|
findMatchingLayer(layer2, allLayers) {
|
|
469390
|
-
|
|
469391
|
-
|
|
469392
|
-
|
|
469393
|
-
return true;
|
|
469394
|
-
}
|
|
469395
|
-
if (layer2.layerId && l2.id === layer2.layerId) {
|
|
469396
|
-
return true;
|
|
469397
|
-
}
|
|
469398
|
-
if (layer2.layerName && l2.name === layer2.layerName) {
|
|
469399
|
-
return true;
|
|
469443
|
+
for (const config of allLayers) {
|
|
469444
|
+
if (this.isLayerMatch(layer2, config)) {
|
|
469445
|
+
return config;
|
|
469400
469446
|
}
|
|
469401
|
-
if (
|
|
469402
|
-
|
|
469447
|
+
if (config.children && config.children.length > 0) {
|
|
469448
|
+
const match2 = this.findMatchingLayer(layer2, config.children);
|
|
469449
|
+
if (match2)
|
|
469450
|
+
return match2;
|
|
469403
469451
|
}
|
|
469404
|
-
if (
|
|
469405
|
-
|
|
469452
|
+
if (config.layers && config.layers.length > 0) {
|
|
469453
|
+
const match2 = this.findMatchingLayer(layer2, config.layers);
|
|
469454
|
+
if (match2)
|
|
469455
|
+
return match2;
|
|
469406
469456
|
}
|
|
469407
|
-
|
|
469408
|
-
|
|
469457
|
+
}
|
|
469458
|
+
return void 0;
|
|
469459
|
+
}
|
|
469460
|
+
/**
|
|
469461
|
+
* 检查图层实例是否匹配配置
|
|
469462
|
+
*/
|
|
469463
|
+
isLayerMatch(layer2, config) {
|
|
469464
|
+
var _a3;
|
|
469465
|
+
if (((_a3 = layer2.values_) == null ? void 0 : _a3.layerId) && config.id === layer2.values_.layerId) {
|
|
469466
|
+
return true;
|
|
469467
|
+
}
|
|
469468
|
+
if (layer2.layerId && config.id === layer2.layerId) {
|
|
469469
|
+
return true;
|
|
469470
|
+
}
|
|
469471
|
+
if (layer2.layerName && config.name === layer2.layerName) {
|
|
469472
|
+
return true;
|
|
469473
|
+
}
|
|
469474
|
+
if (layer2.get && layer2.get("id") === config.id) {
|
|
469475
|
+
return true;
|
|
469476
|
+
}
|
|
469477
|
+
if (layer2.get && layer2.get("name") === config.name) {
|
|
469478
|
+
return true;
|
|
469479
|
+
}
|
|
469480
|
+
return false;
|
|
469409
469481
|
}
|
|
469410
469482
|
/**
|
|
469411
469483
|
* 初始化地图
|
|
@@ -469524,7 +469596,7 @@ class MapManager {
|
|
|
469524
469596
|
const initialCenter = this.config.center || [116.404, 39.915];
|
|
469525
469597
|
const initialZoom = this.config.zoom || 10;
|
|
469526
469598
|
this.mapOperationTool = new MapOperationTool(this.map, initialCenter, initialZoom);
|
|
469527
|
-
this.geoJsonLocationTool = new GeoJSONLocationTool(this.map);
|
|
469599
|
+
this.geoJsonLocationTool = new GeoJSONLocationTool(this.map, this.featureHighlightManager);
|
|
469528
469600
|
const popupConfig = this.config.popupConfig || {};
|
|
469529
469601
|
this.popupManager = new PopupManager(this.map, popupConfig);
|
|
469530
469602
|
this.bindEventManagerEvents();
|
|
@@ -470130,13 +470202,13 @@ class MapManager {
|
|
|
470130
470202
|
this.map = null;
|
|
470131
470203
|
}
|
|
470132
470204
|
}
|
|
470133
|
-
const _hoisted_1$
|
|
470134
|
-
const _hoisted_2$
|
|
470205
|
+
const _hoisted_1$m = ["id"];
|
|
470206
|
+
const _hoisted_2$k = {
|
|
470135
470207
|
class: "absolute top-0 left-0 w-full h-full z-2000",
|
|
470136
470208
|
"element-loading-text": "地图加载中...",
|
|
470137
470209
|
"element-loading-background": "rgba(0, 0, 0, 0.3)"
|
|
470138
470210
|
};
|
|
470139
|
-
const _sfc_main$
|
|
470211
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
470140
470212
|
__name: "MapContainer",
|
|
470141
470213
|
props: {
|
|
470142
470214
|
config: {},
|
|
@@ -470319,8 +470391,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
470319
470391
|
createElementVNode("div", {
|
|
470320
470392
|
id: mapId.value,
|
|
470321
470393
|
class: "w-full h-full bg-gray-100"
|
|
470322
|
-
}, null, 8, _hoisted_1$
|
|
470323
|
-
withDirectives(createElementVNode("div", _hoisted_2$
|
|
470394
|
+
}, null, 8, _hoisted_1$m),
|
|
470395
|
+
withDirectives(createElementVNode("div", _hoisted_2$k, null, 512), [
|
|
470324
470396
|
[vShow, _ctx.loading],
|
|
470325
470397
|
[_directive_loading, _ctx.loading]
|
|
470326
470398
|
])
|
|
@@ -470328,8 +470400,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
470328
470400
|
};
|
|
470329
470401
|
}
|
|
470330
470402
|
});
|
|
470331
|
-
const _hoisted_1$
|
|
470332
|
-
const _sfc_main$
|
|
470403
|
+
const _hoisted_1$l = ["href"];
|
|
470404
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
470333
470405
|
__name: "index",
|
|
470334
470406
|
props: {
|
|
470335
470407
|
prefix: { default: "icon" },
|
|
@@ -470347,7 +470419,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
470347
470419
|
class: computedClass.value,
|
|
470348
470420
|
"aria-hidden": "true"
|
|
470349
470421
|
}, _ctx.$attrs), [
|
|
470350
|
-
createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$
|
|
470422
|
+
createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$l)
|
|
470351
470423
|
], 16);
|
|
470352
470424
|
};
|
|
470353
470425
|
}
|
|
@@ -470548,14 +470620,14 @@ class DialogCacheManager {
|
|
|
470548
470620
|
}
|
|
470549
470621
|
const dialogCacheManager = new DialogCacheManager();
|
|
470550
470622
|
const dialogCacheManager$1 = dialogCacheManager;
|
|
470551
|
-
const _hoisted_1$
|
|
470552
|
-
const _hoisted_2$
|
|
470553
|
-
const _hoisted_3$
|
|
470554
|
-
const _hoisted_4$
|
|
470623
|
+
const _hoisted_1$k = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
470624
|
+
const _hoisted_2$j = { class: "flex items-center gap-2" };
|
|
470625
|
+
const _hoisted_3$j = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
470626
|
+
const _hoisted_4$j = {
|
|
470555
470627
|
key: 0,
|
|
470556
470628
|
class: "px-5 py-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3"
|
|
470557
470629
|
};
|
|
470558
|
-
const _hoisted_5$
|
|
470630
|
+
const _hoisted_5$j = ["onMousedown"];
|
|
470559
470631
|
const _hoisted_6$f = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
470560
470632
|
const _hoisted_7$d = { class: "flex items-center gap-2" };
|
|
470561
470633
|
const _hoisted_8$a = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
@@ -470567,7 +470639,7 @@ const _hoisted_10$8 = {
|
|
|
470567
470639
|
key: 1,
|
|
470568
470640
|
class: "absolute top-0 left-0 w-full h-full pointer-events-none"
|
|
470569
470641
|
};
|
|
470570
|
-
const _sfc_main$
|
|
470642
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
470571
470643
|
...{
|
|
470572
470644
|
inheritAttrs: false
|
|
470573
470645
|
},
|
|
@@ -471058,12 +471130,12 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471058
471130
|
class: normalizeClass(["flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-gray-50", { "cursor-move": _ctx.draggable && !isFullscreen.value }]),
|
|
471059
471131
|
onMousedown: startDrag
|
|
471060
471132
|
}, [
|
|
471061
|
-
createElementVNode("div", _hoisted_1$
|
|
471133
|
+
createElementVNode("div", _hoisted_1$k, [
|
|
471062
471134
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
471063
471135
|
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
471064
471136
|
])
|
|
471065
471137
|
]),
|
|
471066
|
-
createElementVNode("div", _hoisted_2$
|
|
471138
|
+
createElementVNode("div", _hoisted_2$j, [
|
|
471067
471139
|
_ctx.showFullscreen ? (openBlock(), createBlock(unref(ElButton), {
|
|
471068
471140
|
key: 0,
|
|
471069
471141
|
class: "w-6 h-6 border-none bg-transparent cursor-pointer flex items-center justify-center rounded text-gray-500 transition-all duration-200 hover:bg-gray-200 hover:text-gray-600",
|
|
@@ -471071,7 +471143,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471071
471143
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471072
471144
|
}, {
|
|
471073
471145
|
default: withCtx(() => [
|
|
471074
|
-
createVNode$1(_sfc_main$
|
|
471146
|
+
createVNode$1(_sfc_main$m, {
|
|
471075
471147
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471076
471148
|
}, null, 8, ["name"])
|
|
471077
471149
|
]),
|
|
@@ -471084,16 +471156,16 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471084
471156
|
title: "关闭"
|
|
471085
471157
|
}, {
|
|
471086
471158
|
default: withCtx(() => [
|
|
471087
|
-
createVNode$1(_sfc_main$
|
|
471159
|
+
createVNode$1(_sfc_main$m, { name: "close" })
|
|
471088
471160
|
]),
|
|
471089
471161
|
_: 1
|
|
471090
471162
|
})) : createCommentVNode("", true)
|
|
471091
471163
|
])
|
|
471092
471164
|
], 34),
|
|
471093
|
-
createElementVNode("div", _hoisted_3$
|
|
471165
|
+
createElementVNode("div", _hoisted_3$j, [
|
|
471094
471166
|
renderSlot(_ctx.$slots, "default")
|
|
471095
471167
|
]),
|
|
471096
|
-
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
471168
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$j, [
|
|
471097
471169
|
renderSlot(_ctx.$slots, "footer")
|
|
471098
471170
|
])) : createCommentVNode("", true),
|
|
471099
471171
|
_ctx.resizable && !isFullscreen.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(resizeDirections, (direction2) => {
|
|
@@ -471101,7 +471173,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471101
471173
|
key: direction2,
|
|
471102
471174
|
class: normalizeClass(`absolute bg-transparent z-10 pointer-events-auto resize-${direction2}`),
|
|
471103
471175
|
onMousedown: ($event) => startResize($event, direction2)
|
|
471104
|
-
}, null, 42, _hoisted_5$
|
|
471176
|
+
}, null, 42, _hoisted_5$j);
|
|
471105
471177
|
}), 64)) : createCommentVNode("", true)
|
|
471106
471178
|
], 16)
|
|
471107
471179
|
], 6)) : createCommentVNode("", true)
|
|
@@ -471154,7 +471226,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471154
471226
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471155
471227
|
}, {
|
|
471156
471228
|
default: withCtx(() => [
|
|
471157
|
-
createVNode$1(_sfc_main$
|
|
471229
|
+
createVNode$1(_sfc_main$m, {
|
|
471158
471230
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471159
471231
|
}, null, 8, ["name"])
|
|
471160
471232
|
]),
|
|
@@ -471167,7 +471239,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
471167
471239
|
title: "关闭"
|
|
471168
471240
|
}, {
|
|
471169
471241
|
default: withCtx(() => [
|
|
471170
|
-
createVNode$1(_sfc_main$
|
|
471242
|
+
createVNode$1(_sfc_main$m, { name: "close" })
|
|
471171
471243
|
]),
|
|
471172
471244
|
_: 1
|
|
471173
471245
|
})) : createCommentVNode("", true)
|
|
@@ -471228,13 +471300,13 @@ const tencentImgUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABACAY
|
|
|
471228
471300
|
const tencentVecUrl = "data:image/png;base64,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";
|
|
471229
471301
|
const osmUrl = "data:image/png;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2YyZjJmMiIvPgogIDxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNjY2NjY2MiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0yMCAzMCBMNDAgMjAgTDYwIDM1IEw4MCAyNSBMODAgNzAgTDYwIDc1IEw0MCA2MCBMMjAgNzAgWiIgZmlsbD0iIzdkZDNjMCIgc3Ryb2tlPSIjNWNiM2EwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8Y2lyY2xlIGN4PSIzNSIgY3k9IjQ1IiByPSIzIiBmaWxsPSIjZmY2YjZiIi8+CiAgPGNpcmNsZSBjeD0iNTUiIGN5PSIzNSIgcj0iMiIgZmlsbD0iIzRlY2RjNCIvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iNTUiIHI9IjIiIGZpbGw9IiM0NWI3ZDEiLz4KICA8dGV4dCB4PSI1MCIgeT0iOTAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzY2NiI+T1NNPC90ZXh0Pgo8L3N2Zz4=";
|
|
471230
471302
|
const customBlueUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABACAYAAACtK6/LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAf1UlEQVRoga2byXclR3befzHk9EbMc42sIovVJMWhRaqlVqs1tGQde+GjY2nrjb3wv+K/wgt75YXtI1uSZY2kqG6STbLJ4lCsEYUZeADenC/HCC8i8apQLFJNW7HAAR5eZsaNuHHvd7/vpli/8ZtvSymulHlRNObXuXDjRyByNj/7O+LTfbQXYbFIqVFBQJ7GYPjOQyDJ8xF+vc2lGz8mHnU42voUJRXCClCCIk+xOSC/693tuSeJ6hNjDNaa6i+BxSBRKM/TxpSbWsB1qbwVaw1aaQQF8eCYjetvcf/jPwchkEKh/AApFUIIhPqOsxOANUjjsbTxPfxak872LQQShMRisWWJEBLhie90X2ssZ7shhGC6ctYQhk28IEIojdIeQX2GZNRj1N1HlIWngcSaEoAk7nG88wULF15i4eL32L/3c4bdPbQXIBCYIseaEoR95ly+bZZ5EtNcuEB7+Sr9o4cMT3cQQmKN5GxnvvOwFukFKOkhpcKakiyNsdZgTEGrdYH59RsIIcgmA/z6LFjD4GQba22iQViEQEhFNhlytPkJ9ZllmrNrzK2/wOB4C7wAIQTGlt9xbsY5pDF4fsDSxZcoi5TO1i23JPLMgwRYO3Vecf7HNw5TFDRmVqnPrlLmCUncJ0tjsBYlNePePmncwxpLWebuGbZESUkpsfrJVRRCYK3lZO82ybhHY24DhKj+pwCBtQJxNk3xLZOzFqV8hJAk4y6NpcuE9RmOtm6RjHv4UROs/do1Z/Zae3b7b36GVJrJ8IQsGSGVR1lmgLMD4WJInk2cowo3ayEEUnoIQJ+7mxBIpUjGA+LhMUGthVQe1losBu1HUwc1ZYEx5dcmaE2JKd3nrcWLKB0w7h/iBTVMWTAZnCClehyjrAUhiZrzKC9wx8paiiIlS4bVvb5hAYSgKDKKPDm7jduk6vtCSIR4HJ/EU7+cN776jzUlZZ7ieQFSaaw1pJMhSnsIKVHKx/NrZNmYMkvds4SLsUr7KC1AWOeCaYwfNvCDBqYsKPIEIRVn1lssEvCCGn6tRZmnKKkpbUGZp5T5GKHUN+6+22X1/xIxnmW8RWmNF9SIB0fYskBId3OTZ1gsBQnaC/GDBoXQ5FmMKXO0Dlh57vs05tbIkhECQTLuMbN4mebcOkLKKvU8OXn32eB4exoDhJAIqSiL7Jt3/Z9hPGW8xVpLELUJai06m59gyhyl9NlMqywKeRYDlqA+A8KSjnsIIVDaQ2kfrQOk1JRFSjLskiYjl3Zgeo8nVgCsxZQF2Co3C4WQAjBYYytv+f8c1mKsQViwRXHeeHe2LUFjHuWFjHoHGGuf5R5IqSjyBMZdvLCBNYYiS9i7+wHwAWdunaVjsnjAynNv0F66gilzjCmQ+PAEOLHWYK1FKk29tUi9vYwxJcm4SzruucB1tlDfYhhYlwKlfuq7FqRAyQCtA0SonrSriuoIaq0FrLWMevtVXn/2A4UQ5FkCUuFHTcqiIE9HUw8xpkT7IY3V68wuX6PWXqS9dJXR6Y4zxgULrCmxQNiYpb14mcbsGsrzq2wgiPuHHD36hCwZI9WzTqqLdr4f4UKAR5FNMGXOWXSzxhDWZ5hffxEd1hBKf33npdRErQXScY+wNsv82vMMTnaRzww6AiEkZTahkJqg3iId97DWVJ/HzK/f4PU/+A9ErUXyNGbjxR/y4KM/46v3/htSqeluzy5dZWb5KtqLMGVOmafOw5QibM4T1GfIktEzN8GYEj+qsbhxEyEVQX2Wgwc/Z9w/dJkFgRWi8s6UPIvJsvi88cYUaD+k1lxkMjxm6cqrmCLn9O/+E8oLpm4nlXdu96015MmYoO5iRRoPcPlWYUzBZHSKkM5Qk2eURY72QowpAJhZvML8xosIwdTo6ZxKg1IaP2yAVNOFfXJIKTFlybC7h1QeadynyJLp96y1CCBNBhw8+ABrBXmROuNdkrJoLyBszBHW28SDDrtf/SOAAyQIVLVTpiweBylTAgZjcybDgrDWxo+a5JMR2o8YHG/z3n//jyxffYN6e5ntL98mGXcdAEIQ1Ns0Fy86T8kT+FrScmhHKR+JqIKhmP7PmhJjSop8QDI+PXNhdzzEGXIUZ5m48iaNVgrtzpwBC/MbN2nOrRMPOqRxHy+oE9SazK+9gFAKP2yQJSMefvKXlEWGkh5hvYnUPtaU5MmQIpsQNuYoswSTp5iyIE1GpFVgjAcdTJnjt5rO07wArTw3h2/M1gKlA5AKk2VgymmckEKig5pbTCmm8cZag/QCgrCJF9SqGCIRShHW21hj3M5bwAp3voQAU2RIpfGjBmF9lqA+gxfWUcqrVlFiyhwvaLB05TVqzQXydMTJzleMursU2cRlgmrHdHMBL2zSXthg4cJNunv3sNZQFhnGuPRqbXnOpR0eEFVQtFgBZZFRFCl+UMerz1BvLdGYW6U+s4LSIVIppHYL6fkRUXsJL6ihtV8hVYOognPhzrx1D7RwuneHZNRl5dqvMhkcc7T5C4TU0wvd2SqwpkRJD2sKRqd7LhUlI/Jsgg7qFGmMkBLtRSg/oCwyyjxFKo+1a28hheZw82NsWeBHdbywgdI+eRZPXV8KibElpigRgB82mF2+StSaZ2HjJu3FS9Tay2gd0D28x/B01x2/sqCssMmk36E36VOkbjNMmWMBrfzHAe8saKXjngtC1uIFdfLMXXAOHwuBVBqhNKbIOdn5wp17Iai3Fqi1lsm8kTNCCMosZTI6oTGzyvBklyKNmd94Eak1ZZEzu3KNqDGL1D5+2SAZdatFaTmUV6b4YYvG7Cp+rYXnR65GGLrNGRxvMzjeIpsMKauNcUdw7Aw2hfMsY6YASkpFeYZfzqCG1BohJEWeooManl8jT78ht1ZBUikP7UdoP8ILG5RljvZdgZLEXUxZ4vkRAEWe0Ots0ihSli+/ymR4yvB0h2R0Qq21iBc1iZoLU2xRn1mlObuCVD7GFPSPHrB/70O6B3ddNTcZUBQZQkjkk+WxEFVRI1Dax1qYWbqEFzacfemEPB0/BXIQlEVOnoyoz67gR02yZMCzSoCp4V6I9HykUGSTEVk6QkmFFzYJorZjaYqCcf+IIHKZ4ODhxxxvf0GWjklHpzQXNphfu0FDKhqzq5iyYNzd5+jRp+5segH94y0effrXnOzdriK2IzCU9t3fUj0TAltrwZZov0ZUnyWoz5HFfUa9w8dWWWswRYaxCcPTHRYuvYwfNbEn5um7VWkxwq81wZQURU5RVkHOWsqiwMYDdFADLPHwBM8L0UGImRQkg1MQFuUFSOWRDLsIqVi88BILGzc5evQp8eCY3tEmg85DGrOrFdiT+FETpf0pfBVCODxR5pTFGUZ4nDWEECAVp3t36ArccUKSp2cgxxq0F1BvL1LmKXkSY03pUoK1TGmmynDlhfihK1HTcQ9rzLSuFxUnRxVHlPZoLVwgrM2QZxPSuEdjfhVbsS1eWGPp8mtceum3kUpztPkxg+NtsmSIF4T4QR1rLdqP8MM61hha8xs05y6gg6g6ViGn+3c53b/jYIE8nzJdTCuxBuLBEVJ6mMKgXR1gCGptFi++TJFNiFrzlHlKUJvhrFA44z89P8KLmtiyII0HVfo4j7iMKfDCGgtrL+LXHOpT2mcyPEYiaM5vYI2r/Zcu/wqzq9cZnu7w8OO/cDTa7Aqzq8/jBXWU9qtsZKe/F0VOkacYU1KWOUUWU6TjJ8rfJxDNdAEkCFAyqEr08izaK7JkxPH2LYo8I88mrF5/Cz9qIrBT+kf7NfygTpmnpJNBRTU9i8kVmKKgyFOYDMniAbX2QhVME6T2CetzKO0xGZ2y/85/4eD+z0lGp1ghsaf7tBYuUpvbIE+dF6IUyvMRUtM/fED/cBOsAzpCyilrY00BFR8gEF/bmCeHdsFRUKRjktEJRZ4htauo/KiFFzSR2sPzI/yohfZDRzJIzWR0DDwdZATCWpT2CBszgCCNe6TxgKA+Q3v5qqsepcZi2b/3PocPP0QKjV+bwdoSKRS2LCnzDGvLCrGBkBqlNaaQDvGJKqAZg1AKISVSRlNq0KW44luMx1WEFoEOaoSNeRqzqwihCKJGlW8FUmqElHhBg1q7jh8NGA+OUGfVXoXzrS0xRUFZ5CTjLlJpGrNrtBcvIZRHNunTP9okS8YILGncQ3lRFcAAY8nzmHQypLlwAeX7mKJAhzX8ZMTS5Vcp0pigPlt5Y0jcP6TIM5T2WL76BqPTXTpbt8iSMem4B/DMdK3PAoHSPmF9FiFdfQ0glKbIJ1gMWOFSU9wH6861Ek/sesXiCBmADxjD8HSPlSuvsXb9LbQfUZYZg6NNNm/9NdoLqbeXAAijNnk6doAKWLjwPWrtBfIsJohaWFMgpXL4oTrXXhCidOCgreczGZy4wOiF0wrSeZh8+vg/Nl5ITdiYwQ+bWAzj7n51oUNCpswpisyhojwhSwZVdJfV8YAin+D5NVavfZ+wPos1BqV96nPrzK09z2R4zP33/gKsob10hcULL9HvbDo47EeEjVm8sMa4d4SQkgs3fwshBJ2tW2gdgLVMBsdOlIj7pHEfKSV+CIPOI8oiRypNnsQc3P+ANB7QnF1HAFF7gWTUZf/+R1hTnMMCujW7hlerk8ZD4sER2WRAfXYVoR2ml8pDFI9JTHdESkyZk1dBz1hDa/4CixdfccZbdwaLNOH+z/8ne3d+yrC7h+dHKC/g8q/8hJ0v32H3q5+i/JAgbBLWZ6i1FimyCYcPP5pC1dmVa0ipiIfHCCFoL14hnfRptJcRUjIZngKCqLVQ1QUQ94+ot1cwpqS1sMGod8DBg48cf/dEjNIWQ9zrMIm7mDJDSEXUmMMP6igvrIiKoStbrZnyYzoIacyu0Jhdp718lfn1FwiiFuPeIf3OQ/on26SDbrXDMbXmAkWRsvPF25iyYPHCy+TphM7WLeLhMdaW1GdWKYuU/bvvOyK11qLWmKM+s4IQCmtLBsePGJ7u0jt8gDUF1hisMRWR6lScMk8ZDzoUacz+/fex1nEODgI/PgN62N2fyiOORi6ZWb6C9kKixhxLl15h//6HaC/EixrUWovMLF2hvXyFRnsFL6xhrTsu21++TffgPoPjbRfspEZ7AUGt5UCNDiiLlO0v3yHPYlavfR/l+Rw9/ISz8tVUfJz2HCPT72yigxpSKITSTAYduvt3pvDapVqBPTIuSwiDlLoiWcCUpYPBXuBUjSfPfJbEhLUmZZGSTQbMrj7P4uXXKIsMz4944Qd/zMq1N1HKo9Zeptaax5qScf+QQWeT4eke8bBDOu5TFhn5ZEhzbp359Rv0jx6QjHpI4VePc5C2LDL27vwUKRXrL/yAPBkz6u5Sya5TuUlIRToZOdIjCFxAC+qE9VlXfQpxPphNNS6Lqrg7pb8OeKbGN+fWSIYdlBewePElx256Ab2jzWrFQhbWb1STzjne+py9u+9xvPsFyaiLUh5Ra5Hm7Bqt+Qvk6Ri/1kIpn+HpbuVy5yeodECZZ3QP7rGw8SJB1GTcc/ycLQtnvLVIqcgmA9JxH8+LsNYSteZoLfwOk+EJh5u/oCyyilOcinucZ4S+WVHWF176MYPDe5R5xsXv/RZlkTHu7ZOMunhBHRB4fkiRJTz6/G852b1NNhk6qKgDpPYwRcbgeIt+ZxNjSpezsWTpGKmDr0+gqhf8qEk67jHs7jvQwnklWEhFmadMBh2i5jxCKDwvQgiNMb9Mh8Q37zqA7mzdYn7lOdoLl2jMrbvKDEvUlCgvJB332Lv3Pmk8oPPoFmWROdgrHOoyZc5k3K2wga0gpjNuisufnIAQmDxD6YCF9ZuURcG4f0BjZvWx+ntunazrBrEG5UVMhid0Hn1COhlULJOe3t9UIqcpS1fWY122errUtS4W6MMHH7C4foONF39IWWQ8+uxv6B895Pm3/gilffa++hkPP/krtOcjtedyeyVruZWtiIQnEZSd/nhq5UVFM2WsXf816u1ltr54mzJz4qWQ8jGUrUhIoTRRcw6pPZc+i4Q0GTn6239slLUWzwunZe/ZHIt0XJXanBNfhJbo13/v33Hh5d+j13lI7+AhWTJkeLJLnsYYYzh69KkrIKxFnNPPTVU/P5aDp6lQaaQ6L0dRKThFnrB48SUWLtxk//4H9I/uI6QiGZ7ghw10UKu8z3lV1JxzuEN62LIgT8bVkfM4N0xJc26doD5LfXYFcBR7Z+szstNdV/hUi6Q8zfzidfSFl35Cd/8un7/9n4l7h6xef5MLL/0YL6iRjPsU+aQiHc521k7r68bsqjPQCpdStMYLItJxj3H/6Jy4gTWYImF+7QVWn/s+R1uf0dm6hRCSsNbGC5tghWOGpuIE1NvLeEHTXW9K0riPNWWlxDyxtFI6Pd8a0kl/Cm+zZDiltNwmOQHDCtC7t3/K/Q//lMHJFlIq9u/8DGth6cJLBLUWXlBjPDgiqCo9LNiyJKy1Wbv2JqYsyNOYLB0T1tsEYYvj3S8ZnO6eM77IE5rzF1i99ibdg/sc3P+ggs8Fi5dfZWb5Knt3fubkKy8kiwf4UZ2wPldN3jr+P+5NNbynrGfcP5o2N1Wshjvz57RGx0B39u6gt++8QzI6cedESIo0ZvvLt2nNr3P19X/Jxgu/Ttw/okhjtF9zgaRKQUfbn4MtKbOEsiwY+xFCSFepVdwaQlBWhOjSlddIRqfs3XkPKSRSaqyFZHRKDxh3D/DCOtoLSU2XoNZ2VFllSDI8JU8fy1BfG5VrS+/ZhOvUCS2Q5ej+4RZS+VhbVBE1oMgmdLY+5+LLv8vy1dfJswk7X/4Dk9EpXlBzxicxk93bFe3pHnzmalJKpPYqT3Fc+tKlVwhrbR7+4n9TZDFr194kai1ysvMFw5Mdaq0FLr38uwjpkN7W53+P1ME0WhdZzLh/iDX5N7LJv3QjQyXQaJOnyCCYxqYzXn4y7DAZHFOkMVIqrrz6+2x98Tbj7h7Ki5woIbwpy+NW1D6egHF6e5FPiJoLzK0+z+DoEaPuHl5Yx6+1qM8sM+ruIaRiZvk52ktXMUWKKXP2739Ino4RwjG0p3u3mQyPp3D2n2PoZ62iEILJuMvoZIeZ5ascbX1GfWaJtWtvcfDg5wxPtlFeOI2gT15XMRKUZe70cSFZ2LgJ4DoulYfSAad7d+gfPSRPYkyZsfX53+Pd+wClPMLGHKbIycZ9Rqc7ICX9owpAKe9r8/0nR3X0yqpxSSqFKc0zmy4qxTTlZO82a8//Gu2Fizz85C9ZufI6c2vPE9Zn6Gx/hpTeUy4oKMsMrT0u3PxNFjZuVoLBZUYVirNVtkhGpxhTkZ/WknUeUhY5flBndvX5aTA83v4MUzVAOuT43Ya1FlvmtBcvs7DxousJwAkXz1AjHGFprXVy0Mk2l175PbJ0RK25iFCS+db38MMmBw8+pCzSalKOLDRFjvBC1q6/xeVXfkIa9wlrM5zu3yVqzjM82UYHjmFR03QlkDIAJlMmxrGzOVniuiuk8uAp401ZOI7vjLCcet45gyjzlMWLL/Hyj//tY0/I0q83JAFI7TsxPx6wc/sdbvzgT1i8+DLbX7w9la4vv/IT/KjJ7p2fYoqiekiCwKmpO1/+A37YpMgm9I8eMhl2mYyO0X70jFRlMbZEKk3UXnDKqh8QNRemqarMU/I8mQbVskgJohZe1KBMJ+RpXKm+jvA8o6qtMRR5Ru/oAf3Oo0q+Khmc7DxuTjBVZJ5bu0F74SLx6IRaa4E8GXO4+TECB0BKL2Fu9TplFhM2Zlm79pZjToVLf8fbnzPq7RP3Oxw9+pSDex/QO7yP1I4vV144XeQnR5mnhI05mnPreEHdSeVl4RhZoUgmA/pHD8iSMdaUzK+/yPLlV6uWtXTaFJkMjxkPjykSpxRLpfHDJvX2CjtfvUs8OKLWXGDz0795eucFUmtUEBIxh9IBGSMe3fobVq++wfJzb5AMTphdfY7h8Q5FnhLUZ9CeTzw8IWrOceXVP2DU3aM5t05n+3MOH32CH7amOwbl9FnT7k0hHS+otIsLFryq27PMM5TnITNNlozBGjae/wHt5efoHT1gMjxx2ECHeEGNqLVIY24DL6xXYsYEY0riQYfe0QNmV5/Hj9q05i8+VmnPCITu/j0Gna2p25RFSpmnrFx5g7XrbzEZHtM9uMvBw4/I09gxpRiKJAZg5blf5eL3fgshNcm4z8L6i9Oqz51NWVW0FiEs4M6rDiLXH2ctUghKnI6uvQgdRGi/hvZrNGZX8fyQk92viPsdrC3J09hR1ALC+hxSeWzc+HWGp7uMjndJJ0PSuM/a9TdZvvwr5MmYtWtvok1pEOrx+SvyhCKLqx3BRVntU+QJYX2GqDnLqLvH4HjbNRz4gSt4gCKb0D24y+Kll5kMOhTZhI0Xf4gpXcuKqRbABTinwBR5RlmkVdXoP05zk5HD+FjHzkpNY2aZNO7T279HWunxWTJAChxHWKYkwxPay1exxhD3jjCmcHQ8JUncY//e+wgkC1deQ3t+AFJUrZ5UBcPjokF6bqd2br9DOu5x+bU/YOXqGxxc+ZCdr95FIZHVywdSF0ghGXf32f3qHxmebNNcvERYa+GHLYJaGy9wyk/c75CMumg/IqrPMIl7eMpnMjgm7h8xGXadvl/kjqisjokX1PCCBkUWEw9OKLIYP2rSmm9R8yPKdsr8xk16Rw9crFEeUXMez4vo7t+nu3+H1sIld1SWrryGtTmHDz+qENp53GzBNfMg2L//AVky4tob/4pLL/022WRAZ+tztB+6DCEkWRaTJ2O0H5IlY4YnO4xOIGotEjXmCGptmnMw7h/S2bpF1JxnZukKk+FJ9SbECaPeIWFtBq19SkBYD6REKh8vqlNkE/xa27WZFxl+WAOlkdqj3l5mcLxFMjxlbv0GWTwgarmsMR50MIVh3Dtg1D1Ej053qBrSn9loaY3B80KWLr9KmSXk6YSdr95lfv0GN37wxzTm1tn89K8oiwzt+SSjU5Jxl5UrbzDuH5KOBygvJIv7ZJMhUmlO9+9iqzbUeHBMNhlB1XxsTIkpM2xZOCZI6Wm3lxCCxQsvoTyf9sJFsjQmGZ044aO+wPD4kRM0lMfy1deZX79B3D8iz2J2v/pHwlrLBVRTMjw9RPc72yjvMdh4ekipyLOE461bU4R25lIvvPVHvPqTf0978RIPPv5zBsfbIKCz/Rm11gJXX/1DNj/9KybDY7QfVr34OaYcVr0xGoshmwxcfCkLlPJpLV4kS4ako17Vbi6qGl67Wn3siM720hUmxtDdv4sfHZInYyajY9d/YwxlllQBccJk1CVLRmjtEzUXmF25jFh/4YcPlNZXnm4Ff3oYU7huaSGmjX/thUtcf/Nfs3rtTSbDDg8/+T9OnTnZIazPcPmVn+CFDR7d+mvGgyM8v+akLC8kqDUxRV5JVgGqUocQgqB25v4HjoufZmKBKXOCqM3GC79eqbzvkYy6LpMoPSVHqZQkKaXLZpYzsR3lBXhBY1Ns3PjRA6nVlTNx8tnjjLObzgKsqXi0gLVrb3H19T+kNX+RUXePna/eZff2u0xGXdZv/JDW/Bpbn/0dg9NdBILWwgXWrv8a1hriwZFrX7HQmFlheLLL7t2fVtLyubKJPItptJfZuPEbJHGfg/sfkE2GiDPYKxz3x1lXgX3c2CgrD6r8GVOUv4zxVRsXZ22cjykhay1lkWGtodZcYPXam1y8+SNai5dIRqc8+vxv2b39LjPLV2ktXWbni7fpHW4SteZpzqwitFcxs26iXtBwHGJ3H7BPUFWCIotpLVxg48ZvMjjZZv/+B1MW+Fxv6S8xhFSYrPh2460xKD+gNb+B0gFCefT275BVNf7ZMMa4IGVttQi/yoWbP2Jm+Sq9wwfc//B/IZWi1lpk+/a7jE73p0yPkOIx+rPWRfVz/JygyCYV2fE7DE922bv7PtYWSOVPOzS/S40vpMIW5ea314jCtawIXMuHFHJKFT05pJRIGWLKgmR0ysNf/AV7d3/G+vUfcOW1f8GN3/gTTra+IKi3KYuc+x/9mQt4lSs6dMkzjTAmR/shq9ffYjI85eDBh1hboryg6gZ1R1JI9dSi2WmHxvSOT6Uz15xgq25mzvfYCCEpi5Te0YOKpK20tCceYo1xklR1nVQaW712cu/DP6Xf2eTyq7+PCiLyZEhUn6E1v0H36GG1+0/FkqdWv8wzFi7fRCmP/XsfTDV9LLTmL0xfVsoqCFs16Tjpq1J1nIxgqwLssX3amBJpNaYsK+VTnwc609c3AEPV5lW5mhX4URPp+Zg8dZK2Kd0LR2RYBP3OJttfvMPqc99ndvU6RRrT6jyif/zI5e5vaRg6845ae5Fx75B03EVrD0wJUjG7cg2lA4L6DN39Oxw+/EW1iYbm/BpRawlbOhkbCXHviMnoBGHdM/ULb/0bgTBkcR8hFQcPPiQZ98650HQxntgYYwwCQXvxMkuXXnYvInkhw9MdOttfMO7uVS8UlBzc+znJ8ITG7Arz6zc43b+D0iFlkaLkM7S8qVeVTsjwI4an+w4HeNX3heB46zOsNfi1Nnk6chtjHQPkBXUaM8tI5bREqX2KdMxkeOweZxF6fu16KLV7jUt5Af2jzWne/LYgIqVECNcFcfToE6QOsKYgGfcos9QFIykRVuIFgl7nIXff/x/4P2rQXrpMfWaZfucR7k3NZxkvsDYjai2hlE+ejl28kWfanCUedRHCMhlXeV5qhHXAbHi6w7h3iNJe1UzNVNEVUmNMGurb7/3Xu0HQKFQQFdZaJsMTrHGvd/xTwwKD030GJw7ZOXlcu0aCqrHJLZ8CIzneu83u3fdZufZ9Zlau0j98SJllT72Vbatdd/c7a0yajE6xZYkpnFuffddawAistE88z1WnpY3PxVA1LakLbWHz/wLxi6zW5kvxEwAAAABJRU5ErkJggg==";
|
|
471231
|
-
const _hoisted_1$
|
|
471232
|
-
const _hoisted_2$
|
|
471233
|
-
const _hoisted_3$
|
|
471234
|
-
const _hoisted_4$
|
|
471235
|
-
const _hoisted_5$
|
|
471303
|
+
const _hoisted_1$j = { class: "basemap-content" };
|
|
471304
|
+
const _hoisted_2$i = { class: "basemap-grid" };
|
|
471305
|
+
const _hoisted_3$i = ["onClick"];
|
|
471306
|
+
const _hoisted_4$i = { class: "basemap-preview" };
|
|
471307
|
+
const _hoisted_5$i = ["src", "alt"];
|
|
471236
471308
|
const _hoisted_6$e = { class: "basemap-name" };
|
|
471237
|
-
const _sfc_main$
|
|
471309
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
471238
471310
|
__name: "BasemapPanel",
|
|
471239
471311
|
props: {
|
|
471240
471312
|
modelValue: { type: Boolean }
|
|
@@ -471449,7 +471521,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
471449
471521
|
}
|
|
471450
471522
|
};
|
|
471451
471523
|
return (_ctx, _cache) => {
|
|
471452
|
-
return openBlock(), createBlock(_sfc_main$
|
|
471524
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
471453
471525
|
modelValue: visible.value,
|
|
471454
471526
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
471455
471527
|
title: "底图选择",
|
|
@@ -471465,23 +471537,23 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
471465
471537
|
onClose: handleClose
|
|
471466
471538
|
}, {
|
|
471467
471539
|
default: withCtx(() => [
|
|
471468
|
-
createElementVNode("div", _hoisted_1$
|
|
471469
|
-
createElementVNode("div", _hoisted_2$
|
|
471540
|
+
createElementVNode("div", _hoisted_1$j, [
|
|
471541
|
+
createElementVNode("div", _hoisted_2$i, [
|
|
471470
471542
|
(openBlock(true), createElementBlock(Fragment, null, renderList(displayBasemaps.value, (basemap) => {
|
|
471471
471543
|
return openBlock(), createElementBlock("div", {
|
|
471472
471544
|
key: basemap.id,
|
|
471473
471545
|
class: normalizeClass(["basemap-item", { active: selectedBasemap.value === basemap.id }]),
|
|
471474
471546
|
onClick: ($event) => selectBasemap(basemap)
|
|
471475
471547
|
}, [
|
|
471476
|
-
createElementVNode("div", _hoisted_4$
|
|
471548
|
+
createElementVNode("div", _hoisted_4$i, [
|
|
471477
471549
|
createElementVNode("img", {
|
|
471478
471550
|
src: basemap.thumbnail,
|
|
471479
471551
|
alt: basemap.name,
|
|
471480
471552
|
loading: "lazy"
|
|
471481
|
-
}, null, 8, _hoisted_5$
|
|
471553
|
+
}, null, 8, _hoisted_5$i)
|
|
471482
471554
|
]),
|
|
471483
471555
|
createElementVNode("div", _hoisted_6$e, toDisplayString(basemap.name), 1)
|
|
471484
|
-
], 10, _hoisted_3$
|
|
471556
|
+
], 10, _hoisted_3$i);
|
|
471485
471557
|
}), 128))
|
|
471486
471558
|
])
|
|
471487
471559
|
])
|
|
@@ -471822,15 +471894,15 @@ class OverviewMapUtil {
|
|
|
471822
471894
|
function createOverviewMapUtil() {
|
|
471823
471895
|
return new OverviewMapUtil();
|
|
471824
471896
|
}
|
|
471825
|
-
const _hoisted_1$
|
|
471826
|
-
const _hoisted_2$
|
|
471827
|
-
const _hoisted_3$
|
|
471828
|
-
const _hoisted_4$
|
|
471829
|
-
const _hoisted_5$
|
|
471897
|
+
const _hoisted_1$i = { class: "measurement-content h-full flex flex-col" };
|
|
471898
|
+
const _hoisted_2$h = { class: "measurement-header flex justify-between items-center px-6 py-4" };
|
|
471899
|
+
const _hoisted_3$h = { class: "measurement-result py-8 text-center" };
|
|
471900
|
+
const _hoisted_4$h = { class: "result-value" };
|
|
471901
|
+
const _hoisted_5$h = { class: "tool-grid flex-1 py-5" };
|
|
471830
471902
|
const _hoisted_6$d = ["onClick"];
|
|
471831
471903
|
const _hoisted_7$c = ["src", "alt"];
|
|
471832
471904
|
const _hoisted_8$9 = { class: "tool-label" };
|
|
471833
|
-
const _sfc_main$
|
|
471905
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
471834
471906
|
__name: "MeasurementDialog",
|
|
471835
471907
|
props: {
|
|
471836
471908
|
modelValue: { type: Boolean }
|
|
@@ -472062,7 +472134,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
472062
472134
|
const _component_el_option_group = resolveComponent("el-option-group");
|
|
472063
472135
|
const _component_el_select = resolveComponent("el-select");
|
|
472064
472136
|
const _component_el_button = resolveComponent("el-button");
|
|
472065
|
-
return openBlock(), createBlock(_sfc_main$
|
|
472137
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
472066
472138
|
modelValue: dialogVisible.value,
|
|
472067
472139
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
472068
472140
|
title: "图上量算",
|
|
@@ -472072,8 +472144,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
472072
472144
|
cacheId: "measurement-dialog"
|
|
472073
472145
|
}, {
|
|
472074
472146
|
default: withCtx(() => [
|
|
472075
|
-
createElementVNode("div", _hoisted_1$
|
|
472076
|
-
createElementVNode("div", _hoisted_2$
|
|
472147
|
+
createElementVNode("div", _hoisted_1$i, [
|
|
472148
|
+
createElementVNode("div", _hoisted_2$h, [
|
|
472077
472149
|
createVNode$1(_component_el_select, {
|
|
472078
472150
|
modelValue: selectedUnit.value,
|
|
472079
472151
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedUnit.value = $event),
|
|
@@ -472141,10 +472213,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
472141
472213
|
_: 1
|
|
472142
472214
|
})
|
|
472143
472215
|
]),
|
|
472144
|
-
createElementVNode("div", _hoisted_3$
|
|
472145
|
-
createElementVNode("div", _hoisted_4$
|
|
472216
|
+
createElementVNode("div", _hoisted_3$h, [
|
|
472217
|
+
createElementVNode("div", _hoisted_4$h, toDisplayString(getDisplayValue()), 1)
|
|
472146
472218
|
]),
|
|
472147
|
-
createElementVNode("div", _hoisted_5$
|
|
472219
|
+
createElementVNode("div", _hoisted_5$h, [
|
|
472148
472220
|
(openBlock(), createElementBlock(Fragment, null, renderList(measurementTools, (tool) => {
|
|
472149
472221
|
return createElementVNode("div", {
|
|
472150
472222
|
key: tool.type,
|
|
@@ -472174,13 +472246,13 @@ const _export_sfc = (sfc, props) => {
|
|
|
472174
472246
|
}
|
|
472175
472247
|
return target;
|
|
472176
472248
|
};
|
|
472177
|
-
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
472178
|
-
const _hoisted_1$
|
|
472179
|
-
const _hoisted_2$
|
|
472180
|
-
const _hoisted_3$
|
|
472181
|
-
const _hoisted_4$
|
|
472182
|
-
const _hoisted_5$
|
|
472183
|
-
const _sfc_main$
|
|
472249
|
+
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d868b567"]]);
|
|
472250
|
+
const _hoisted_1$h = { class: "coordinate-content" };
|
|
472251
|
+
const _hoisted_2$g = { class: "format-selection" };
|
|
472252
|
+
const _hoisted_3$g = { class: "format-options" };
|
|
472253
|
+
const _hoisted_4$g = { class: "coordinate-input" };
|
|
472254
|
+
const _hoisted_5$g = { class: "dialog-footer" };
|
|
472255
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
472184
472256
|
__name: "CoordinateLocationDialog",
|
|
472185
472257
|
props: {
|
|
472186
472258
|
modelValue: { type: Boolean }
|
|
@@ -472330,7 +472402,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472330
472402
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
472331
472403
|
const _component_el_form = resolveComponent("el-form");
|
|
472332
472404
|
const _component_el_button = resolveComponent("el-button");
|
|
472333
|
-
return openBlock(), createBlock(_sfc_main$
|
|
472405
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
472334
472406
|
modelValue: dialogVisible.value,
|
|
472335
472407
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
|
|
472336
472408
|
title: "坐标拾取",
|
|
@@ -472341,7 +472413,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472341
472413
|
class: "coordinate-dialog"
|
|
472342
472414
|
}, {
|
|
472343
472415
|
footer: withCtx(() => [
|
|
472344
|
-
createElementVNode("div", _hoisted_5$
|
|
472416
|
+
createElementVNode("div", _hoisted_5$g, [
|
|
472345
472417
|
createVNode$1(_component_el_button, {
|
|
472346
472418
|
type: "primary",
|
|
472347
472419
|
onClick: getCurrentLocation
|
|
@@ -472363,10 +472435,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472363
472435
|
])
|
|
472364
472436
|
]),
|
|
472365
472437
|
default: withCtx(() => [
|
|
472366
|
-
createElementVNode("div", _hoisted_1$
|
|
472367
|
-
createElementVNode("div", _hoisted_2$
|
|
472438
|
+
createElementVNode("div", _hoisted_1$h, [
|
|
472439
|
+
createElementVNode("div", _hoisted_2$g, [
|
|
472368
472440
|
_cache[6] || (_cache[6] = createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
|
|
472369
|
-
createElementVNode("div", _hoisted_3$
|
|
472441
|
+
createElementVNode("div", _hoisted_3$g, [
|
|
472370
472442
|
createVNode$1(_component_el_radio_group, {
|
|
472371
472443
|
modelValue: selectedFormat.value,
|
|
472372
472444
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
|
|
@@ -472390,7 +472462,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472390
472462
|
}, 8, ["modelValue"])
|
|
472391
472463
|
])
|
|
472392
472464
|
]),
|
|
472393
|
-
createElementVNode("div", _hoisted_4$
|
|
472465
|
+
createElementVNode("div", _hoisted_4$g, [
|
|
472394
472466
|
createVNode$1(_component_el_form, {
|
|
472395
472467
|
model: coordinateForm,
|
|
472396
472468
|
"label-width": "60px"
|
|
@@ -472431,14 +472503,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472431
472503
|
};
|
|
472432
472504
|
}
|
|
472433
472505
|
});
|
|
472434
|
-
const _hoisted_1$
|
|
472435
|
-
const _hoisted_2$
|
|
472506
|
+
const _hoisted_1$g = { class: "region-content" };
|
|
472507
|
+
const _hoisted_2$f = {
|
|
472436
472508
|
key: 0,
|
|
472437
472509
|
class: "region-categories"
|
|
472438
472510
|
};
|
|
472439
|
-
const _hoisted_3$
|
|
472440
|
-
const _hoisted_4$
|
|
472441
|
-
const _hoisted_5$
|
|
472511
|
+
const _hoisted_3$f = { class: "region-group" };
|
|
472512
|
+
const _hoisted_4$f = { class: "region-items" };
|
|
472513
|
+
const _hoisted_5$f = { class: "region-group" };
|
|
472442
472514
|
const _hoisted_6$c = { class: "region-items" };
|
|
472443
472515
|
const _hoisted_7$b = { class: "region-group" };
|
|
472444
472516
|
const _hoisted_8$8 = { class: "region-items" };
|
|
@@ -472457,7 +472529,7 @@ const _hoisted_19$4 = {
|
|
|
472457
472529
|
class: "sub-regions"
|
|
472458
472530
|
};
|
|
472459
472531
|
const _hoisted_20$4 = { class: "district-grid" };
|
|
472460
|
-
const _sfc_main$
|
|
472532
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
472461
472533
|
__name: "RegionNavigationDialog",
|
|
472462
472534
|
props: {
|
|
472463
472535
|
modelValue: { type: Boolean }
|
|
@@ -473542,7 +473614,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473542
473614
|
const _component_el_button = resolveComponent("el-button");
|
|
473543
473615
|
const _component_el_tab_pane = resolveComponent("el-tab-pane");
|
|
473544
473616
|
const _component_el_tabs = resolveComponent("el-tabs");
|
|
473545
|
-
return openBlock(), createBlock(_sfc_main$
|
|
473617
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
473546
473618
|
modelValue: dialogVisible.value,
|
|
473547
473619
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
473548
473620
|
title: "地区导航",
|
|
@@ -473553,7 +473625,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473553
473625
|
class: "region-dialog"
|
|
473554
473626
|
}, {
|
|
473555
473627
|
default: withCtx(() => [
|
|
473556
|
-
createElementVNode("div", _hoisted_1$
|
|
473628
|
+
createElementVNode("div", _hoisted_1$g, [
|
|
473557
473629
|
createVNode$1(_component_el_tabs, {
|
|
473558
473630
|
modelValue: activeTab.value,
|
|
473559
473631
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
@@ -473571,10 +473643,10 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473571
473643
|
closable: index2 > 0
|
|
473572
473644
|
}, {
|
|
473573
473645
|
default: withCtx(() => [
|
|
473574
|
-
tab.name === "china" ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
473575
|
-
createElementVNode("div", _hoisted_3$
|
|
473646
|
+
tab.name === "china" ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
|
|
473647
|
+
createElementVNode("div", _hoisted_3$f, [
|
|
473576
473648
|
_cache[2] || (_cache[2] = createElementVNode("div", { class: "group-title" }, "华北", -1)),
|
|
473577
|
-
createElementVNode("div", _hoisted_4$
|
|
473649
|
+
createElementVNode("div", _hoisted_4$f, [
|
|
473578
473650
|
(openBlock(true), createElementBlock(Fragment, null, renderList(regions.north, (region) => {
|
|
473579
473651
|
return openBlock(), createBlock(_component_el_button, {
|
|
473580
473652
|
key: region.code,
|
|
@@ -473590,7 +473662,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473590
473662
|
}), 128))
|
|
473591
473663
|
])
|
|
473592
473664
|
]),
|
|
473593
|
-
createElementVNode("div", _hoisted_5$
|
|
473665
|
+
createElementVNode("div", _hoisted_5$f, [
|
|
473594
473666
|
_cache[3] || (_cache[3] = createElementVNode("div", { class: "group-title" }, "东北", -1)),
|
|
473595
473667
|
createElementVNode("div", _hoisted_6$c, [
|
|
473596
473668
|
(openBlock(true), createElementBlock(Fragment, null, renderList(regions.northeast, (region) => {
|
|
@@ -473746,12 +473818,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473746
473818
|
};
|
|
473747
473819
|
}
|
|
473748
473820
|
});
|
|
473749
|
-
const _hoisted_1$
|
|
473750
|
-
const _hoisted_2$
|
|
473751
|
-
const _hoisted_3$
|
|
473752
|
-
const _hoisted_4$
|
|
473753
|
-
const _hoisted_5$
|
|
473754
|
-
const _sfc_main$
|
|
473821
|
+
const _hoisted_1$f = { class: "markers-content" };
|
|
473822
|
+
const _hoisted_2$e = { class: "toolbar" };
|
|
473823
|
+
const _hoisted_3$e = { class: "search-filter" };
|
|
473824
|
+
const _hoisted_4$e = { class: "markers-list" };
|
|
473825
|
+
const _hoisted_5$e = { class: "marker-name" };
|
|
473826
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
473755
473827
|
__name: "MyMarkersDialog",
|
|
473756
473828
|
props: {
|
|
473757
473829
|
modelValue: { type: Boolean }
|
|
@@ -474077,7 +474149,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474077
474149
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
474078
474150
|
const _component_el_form = resolveComponent("el-form");
|
|
474079
474151
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
474080
|
-
createVNode$1(_sfc_main$
|
|
474152
|
+
createVNode$1(_sfc_main$l, {
|
|
474081
474153
|
modelValue: dialogVisible.value,
|
|
474082
474154
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
|
|
474083
474155
|
title: "我的标记",
|
|
@@ -474088,8 +474160,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474088
474160
|
class: "markers-dialog"
|
|
474089
474161
|
}, {
|
|
474090
474162
|
default: withCtx(() => [
|
|
474091
|
-
createElementVNode("div", _hoisted_1$
|
|
474092
|
-
createElementVNode("div", _hoisted_2$
|
|
474163
|
+
createElementVNode("div", _hoisted_1$f, [
|
|
474164
|
+
createElementVNode("div", _hoisted_2$e, [
|
|
474093
474165
|
createVNode$1(_component_el_button, {
|
|
474094
474166
|
type: "primary",
|
|
474095
474167
|
icon: unref(plus_default),
|
|
@@ -474130,7 +474202,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474130
474202
|
_: 1
|
|
474131
474203
|
}, 8, ["icon", "disabled"])
|
|
474132
474204
|
]),
|
|
474133
|
-
createElementVNode("div", _hoisted_3$
|
|
474205
|
+
createElementVNode("div", _hoisted_3$e, [
|
|
474134
474206
|
createVNode$1(_component_el_input, {
|
|
474135
474207
|
modelValue: searchKeyword.value,
|
|
474136
474208
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -474163,7 +474235,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474163
474235
|
_: 1
|
|
474164
474236
|
}, 8, ["modelValue"])
|
|
474165
474237
|
]),
|
|
474166
|
-
createElementVNode("div", _hoisted_4$
|
|
474238
|
+
createElementVNode("div", _hoisted_4$e, [
|
|
474167
474239
|
createVNode$1(_component_el_table, {
|
|
474168
474240
|
data: filteredMarkers.value,
|
|
474169
474241
|
height: "300",
|
|
@@ -474177,7 +474249,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474177
474249
|
width: "120"
|
|
474178
474250
|
}, {
|
|
474179
474251
|
default: withCtx(({ row }) => [
|
|
474180
|
-
createElementVNode("div", _hoisted_5$
|
|
474252
|
+
createElementVNode("div", _hoisted_5$e, [
|
|
474181
474253
|
createVNode$1(_component_el_icon, {
|
|
474182
474254
|
color: row.color,
|
|
474183
474255
|
size: "16"
|
|
@@ -474251,7 +474323,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474251
474323
|
]),
|
|
474252
474324
|
_: 1
|
|
474253
474325
|
}, 8, ["modelValue"]),
|
|
474254
|
-
createVNode$1(_sfc_main$
|
|
474326
|
+
createVNode$1(_sfc_main$l, {
|
|
474255
474327
|
modelValue: showAddDialog.value,
|
|
474256
474328
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showAddDialog.value = $event),
|
|
474257
474329
|
title: "添加标记",
|
|
@@ -474322,11 +474394,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474322
474394
|
};
|
|
474323
474395
|
}
|
|
474324
474396
|
});
|
|
474325
|
-
const _hoisted_1$
|
|
474326
|
-
const _hoisted_2$
|
|
474327
|
-
const _hoisted_3$
|
|
474328
|
-
const _hoisted_4$
|
|
474329
|
-
const _hoisted_5$
|
|
474397
|
+
const _hoisted_1$e = { class: "bookmarks-content" };
|
|
474398
|
+
const _hoisted_2$d = { class: "toolbar" };
|
|
474399
|
+
const _hoisted_3$d = { class: "search-filter" };
|
|
474400
|
+
const _hoisted_4$d = { class: "bookmarks-grid" };
|
|
474401
|
+
const _hoisted_5$d = ["onClick"];
|
|
474330
474402
|
const _hoisted_6$b = { class: "bookmark-thumbnail" };
|
|
474331
474403
|
const _hoisted_7$a = { class: "thumbnail-placeholder" };
|
|
474332
474404
|
const _hoisted_8$7 = { class: "bookmark-overlay" };
|
|
@@ -474348,7 +474420,7 @@ const _hoisted_19$3 = {
|
|
|
474348
474420
|
class: "statistics"
|
|
474349
474421
|
};
|
|
474350
474422
|
const _hoisted_20$3 = { class: "dialog-footer" };
|
|
474351
|
-
const _sfc_main$
|
|
474423
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
474352
474424
|
__name: "ViewBookmarksDialog",
|
|
474353
474425
|
props: {
|
|
474354
474426
|
modelValue: { type: Boolean }
|
|
@@ -474607,7 +474679,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474607
474679
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
474608
474680
|
const _component_el_slider = resolveComponent("el-slider");
|
|
474609
474681
|
const _component_el_form = resolveComponent("el-form");
|
|
474610
|
-
return openBlock(), createBlock(_sfc_main$
|
|
474682
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
474611
474683
|
modelValue: dialogVisible.value,
|
|
474612
474684
|
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
|
|
474613
474685
|
title: "视角书签",
|
|
@@ -474628,8 +474700,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474628
474700
|
])
|
|
474629
474701
|
]),
|
|
474630
474702
|
default: withCtx(() => [
|
|
474631
|
-
createElementVNode("div", _hoisted_1$
|
|
474632
|
-
createElementVNode("div", _hoisted_2$
|
|
474703
|
+
createElementVNode("div", _hoisted_1$e, [
|
|
474704
|
+
createElementVNode("div", _hoisted_2$d, [
|
|
474633
474705
|
createVNode$1(_component_el_button, {
|
|
474634
474706
|
type: "primary",
|
|
474635
474707
|
icon: unref(plus_default),
|
|
@@ -474669,7 +474741,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474669
474741
|
_: 1
|
|
474670
474742
|
}, 8, ["icon", "disabled"])
|
|
474671
474743
|
]),
|
|
474672
|
-
createElementVNode("div", _hoisted_3$
|
|
474744
|
+
createElementVNode("div", _hoisted_3$d, [
|
|
474673
474745
|
createVNode$1(_component_el_input, {
|
|
474674
474746
|
modelValue: searchKeyword.value,
|
|
474675
474747
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -474724,7 +474796,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474724
474796
|
_: 1
|
|
474725
474797
|
}, 8, ["modelValue"])
|
|
474726
474798
|
]),
|
|
474727
|
-
createElementVNode("div", _hoisted_4$
|
|
474799
|
+
createElementVNode("div", _hoisted_4$d, [
|
|
474728
474800
|
(openBlock(true), createElementBlock(Fragment, null, renderList(filteredBookmarks.value, (bookmark, index2) => {
|
|
474729
474801
|
return openBlock(), createElementBlock("div", {
|
|
474730
474802
|
key: bookmark.id,
|
|
@@ -474820,7 +474892,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474820
474892
|
]),
|
|
474821
474893
|
createElementVNode("div", _hoisted_17$4, toDisplayString(formatTime(bookmark.createTime)), 1)
|
|
474822
474894
|
])
|
|
474823
|
-
], 8, _hoisted_5$
|
|
474895
|
+
], 8, _hoisted_5$d);
|
|
474824
474896
|
}), 128))
|
|
474825
474897
|
]),
|
|
474826
474898
|
filteredBookmarks.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_18$4, [
|
|
@@ -474883,7 +474955,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474883
474955
|
})
|
|
474884
474956
|
])) : createCommentVNode("", true)
|
|
474885
474957
|
]),
|
|
474886
|
-
createVNode$1(_sfc_main$
|
|
474958
|
+
createVNode$1(_sfc_main$l, {
|
|
474887
474959
|
modelValue: showBookmarkForm.value,
|
|
474888
474960
|
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
|
|
474889
474961
|
title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
|
|
@@ -475037,11 +475109,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
475037
475109
|
};
|
|
475038
475110
|
}
|
|
475039
475111
|
});
|
|
475040
|
-
const _hoisted_1$
|
|
475041
|
-
const _hoisted_2$
|
|
475042
|
-
const _hoisted_3$
|
|
475043
|
-
const _hoisted_4$
|
|
475044
|
-
const _hoisted_5$
|
|
475112
|
+
const _hoisted_1$d = { class: "py-2.5" };
|
|
475113
|
+
const _hoisted_2$c = { class: "h-150 overflow-y-auto" };
|
|
475114
|
+
const _hoisted_3$c = { class: "flex items-center justify-between" };
|
|
475115
|
+
const _hoisted_4$c = { class: "mb-5" };
|
|
475116
|
+
const _hoisted_5$c = { class: "mb-3" };
|
|
475045
475117
|
const _hoisted_6$a = {
|
|
475046
475118
|
key: 0,
|
|
475047
475119
|
class: "mb-3"
|
|
@@ -475126,7 +475198,7 @@ const _hoisted_44 = {
|
|
|
475126
475198
|
const _hoisted_45 = { key: 0 };
|
|
475127
475199
|
const _hoisted_46 = { key: 0 };
|
|
475128
475200
|
const _hoisted_47 = { class: "text-right" };
|
|
475129
|
-
const _sfc_main$
|
|
475201
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
475130
475202
|
__name: "MapPrintDialog",
|
|
475131
475203
|
props: {
|
|
475132
475204
|
modelValue: { type: Boolean },
|
|
@@ -475505,7 +475577,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475505
475577
|
const _component_el_col = resolveComponent("el-col");
|
|
475506
475578
|
const _component_el_button_group = resolveComponent("el-button-group");
|
|
475507
475579
|
const _component_el_row = resolveComponent("el-row");
|
|
475508
|
-
return openBlock(), createBlock(_sfc_main$
|
|
475580
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
475509
475581
|
modelValue: dialogVisible.value,
|
|
475510
475582
|
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => dialogVisible.value = $event),
|
|
475511
475583
|
title: "地图打印",
|
|
@@ -475543,15 +475615,15 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475543
475615
|
])
|
|
475544
475616
|
]),
|
|
475545
475617
|
default: withCtx(() => [
|
|
475546
|
-
createElementVNode("div", _hoisted_1$
|
|
475618
|
+
createElementVNode("div", _hoisted_1$d, [
|
|
475547
475619
|
createVNode$1(_component_el_row, { gutter: 20 }, {
|
|
475548
475620
|
default: withCtx(() => [
|
|
475549
475621
|
createVNode$1(_component_el_col, { span: 8 }, {
|
|
475550
475622
|
default: withCtx(() => [
|
|
475551
|
-
createElementVNode("div", _hoisted_2$
|
|
475623
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
475552
475624
|
createVNode$1(_component_el_card, { shadow: "hover" }, {
|
|
475553
475625
|
header: withCtx(() => [
|
|
475554
|
-
createElementVNode("div", _hoisted_3$
|
|
475626
|
+
createElementVNode("div", _hoisted_3$c, [
|
|
475555
475627
|
_cache[18] || (_cache[18] = createElementVNode("span", null, "打印设置", -1)),
|
|
475556
475628
|
createVNode$1(_component_el_button, {
|
|
475557
475629
|
type: "text",
|
|
@@ -475571,9 +475643,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475571
475643
|
])
|
|
475572
475644
|
]),
|
|
475573
475645
|
default: withCtx(() => [
|
|
475574
|
-
createElementVNode("div", _hoisted_4$
|
|
475646
|
+
createElementVNode("div", _hoisted_4$c, [
|
|
475575
475647
|
_cache[21] || (_cache[21] = createElementVNode("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "纸张设置", -1)),
|
|
475576
|
-
createElementVNode("div", _hoisted_5$
|
|
475648
|
+
createElementVNode("div", _hoisted_5$c, [
|
|
475577
475649
|
createVNode$1(_component_el_select, {
|
|
475578
475650
|
modelValue: printSettings.paperSize,
|
|
475579
475651
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => printSettings.paperSize = $event),
|
|
@@ -476112,17 +476184,17 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
476112
476184
|
};
|
|
476113
476185
|
}
|
|
476114
476186
|
});
|
|
476115
|
-
const _hoisted_1$
|
|
476116
|
-
const _hoisted_2$
|
|
476117
|
-
const _hoisted_3$
|
|
476118
|
-
const _hoisted_4$
|
|
476119
|
-
const _hoisted_5$
|
|
476187
|
+
const _hoisted_1$c = { class: "mark-tab-container" };
|
|
476188
|
+
const _hoisted_2$b = { class: "continuous-switch" };
|
|
476189
|
+
const _hoisted_3$b = { class: "tools-grid" };
|
|
476190
|
+
const _hoisted_4$b = ["onClick"];
|
|
476191
|
+
const _hoisted_5$b = ["src"];
|
|
476120
476192
|
const _hoisted_6$9 = { class: "tool-label" };
|
|
476121
476193
|
const _hoisted_7$8 = {
|
|
476122
476194
|
key: 0,
|
|
476123
476195
|
class: "stop-drawing-section"
|
|
476124
476196
|
};
|
|
476125
|
-
const _sfc_main$
|
|
476197
|
+
const _sfc_main$d = {
|
|
476126
476198
|
__name: "MarkTab",
|
|
476127
476199
|
setup(__props) {
|
|
476128
476200
|
const mapRef = inject("map");
|
|
@@ -476645,7 +476717,7 @@ const _sfc_main$c = {
|
|
|
476645
476717
|
const _component_el_select = resolveComponent("el-select");
|
|
476646
476718
|
const _component_el_switch = resolveComponent("el-switch");
|
|
476647
476719
|
const _component_el_button = resolveComponent("el-button");
|
|
476648
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
476720
|
+
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
476649
476721
|
createVNode$1(_component_el_select, {
|
|
476650
476722
|
modelValue: selectedType.value,
|
|
476651
476723
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedType.value = $event),
|
|
@@ -476663,7 +476735,7 @@ const _sfc_main$c = {
|
|
|
476663
476735
|
]),
|
|
476664
476736
|
_: 1
|
|
476665
476737
|
}, 8, ["modelValue"]),
|
|
476666
|
-
createElementVNode("div", _hoisted_2$
|
|
476738
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
476667
476739
|
_cache[2] || (_cache[2] = createElementVNode("span", { class: "switch-label" }, "连续标绘模式", -1)),
|
|
476668
476740
|
createVNode$1(_component_el_switch, {
|
|
476669
476741
|
modelValue: continuousDrawing.value,
|
|
@@ -476671,7 +476743,7 @@ const _sfc_main$c = {
|
|
|
476671
476743
|
size: "small"
|
|
476672
476744
|
}, null, 8, ["modelValue"])
|
|
476673
476745
|
]),
|
|
476674
|
-
createElementVNode("div", _hoisted_3$
|
|
476746
|
+
createElementVNode("div", _hoisted_3$b, [
|
|
476675
476747
|
(openBlock(true), createElementBlock(Fragment, null, renderList(currentTools.value, (tool, idx) => {
|
|
476676
476748
|
return openBlock(), createElementBlock("div", {
|
|
476677
476749
|
key: idx,
|
|
@@ -476683,12 +476755,12 @@ const _sfc_main$c = {
|
|
|
476683
476755
|
src: tool.icon,
|
|
476684
476756
|
class: "tool-image",
|
|
476685
476757
|
alt: "tool icon"
|
|
476686
|
-
}, null, 8, _hoisted_5$
|
|
476758
|
+
}, null, 8, _hoisted_5$b)) : (openBlock(), createElementBlock("i", {
|
|
476687
476759
|
key: 1,
|
|
476688
476760
|
class: normalizeClass([tool.icon, "tool-icon-large"])
|
|
476689
476761
|
}, null, 2)),
|
|
476690
476762
|
createElementVNode("span", _hoisted_6$9, toDisplayString(tool.label), 1)
|
|
476691
|
-
], 8, _hoisted_4$
|
|
476763
|
+
], 8, _hoisted_4$b);
|
|
476692
476764
|
}), 128))
|
|
476693
476765
|
]),
|
|
476694
476766
|
activeDrawingTool.value && continuousDrawing.value ? (openBlock(), createElementBlock("div", _hoisted_7$8, [
|
|
@@ -476708,18 +476780,18 @@ const _sfc_main$c = {
|
|
|
476708
476780
|
};
|
|
476709
476781
|
}
|
|
476710
476782
|
};
|
|
476711
|
-
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476712
|
-
const _hoisted_1$
|
|
476713
|
-
const _hoisted_2$
|
|
476714
|
-
const _hoisted_3$
|
|
476715
|
-
const _hoisted_4$
|
|
476716
|
-
const _hoisted_5$
|
|
476783
|
+
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-127b85ab"]]);
|
|
476784
|
+
const _hoisted_1$b = { class: "list-tab-container" };
|
|
476785
|
+
const _hoisted_2$a = { class: "toolbar" };
|
|
476786
|
+
const _hoisted_3$a = { class: "toolbar-left" };
|
|
476787
|
+
const _hoisted_4$a = { class: "data-count" };
|
|
476788
|
+
const _hoisted_5$a = { class: "list-content" };
|
|
476717
476789
|
const _hoisted_6$8 = { class: "tree-node" };
|
|
476718
476790
|
const _hoisted_7$7 = {
|
|
476719
476791
|
key: 1,
|
|
476720
476792
|
class: "empty-state"
|
|
476721
476793
|
};
|
|
476722
|
-
const _sfc_main$
|
|
476794
|
+
const _sfc_main$c = {
|
|
476723
476795
|
__name: "ListTab",
|
|
476724
476796
|
setup(__props) {
|
|
476725
476797
|
const groups = ref([
|
|
@@ -476740,9 +476812,9 @@ const _sfc_main$b = {
|
|
|
476740
476812
|
return (_ctx, _cache) => {
|
|
476741
476813
|
const _component_el_button = resolveComponent("el-button");
|
|
476742
476814
|
const _component_el_tree = resolveComponent("el-tree");
|
|
476743
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
476744
|
-
createElementVNode("div", _hoisted_2$
|
|
476745
|
-
createElementVNode("div", _hoisted_3$
|
|
476815
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
476816
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
476817
|
+
createElementVNode("div", _hoisted_3$a, [
|
|
476746
476818
|
_cache[2] || (_cache[2] = createElementVNode("span", { class: "toolbar-title" }, "分组管理:", -1)),
|
|
476747
476819
|
createVNode$1(_component_el_button, {
|
|
476748
476820
|
type: "primary",
|
|
@@ -476765,9 +476837,9 @@ const _sfc_main$b = {
|
|
|
476765
476837
|
_: 1
|
|
476766
476838
|
})
|
|
476767
476839
|
]),
|
|
476768
|
-
createElementVNode("div", _hoisted_4$
|
|
476840
|
+
createElementVNode("div", _hoisted_4$a, "共" + toDisplayString(groups.value.length) + "条数据", 1)
|
|
476769
476841
|
]),
|
|
476770
|
-
createElementVNode("div", _hoisted_5$
|
|
476842
|
+
createElementVNode("div", _hoisted_5$a, [
|
|
476771
476843
|
groups.value.length ? (openBlock(), createBlock(_component_el_tree, {
|
|
476772
476844
|
key: 0,
|
|
476773
476845
|
data: groups.value,
|
|
@@ -476790,15 +476862,15 @@ const _sfc_main$b = {
|
|
|
476790
476862
|
};
|
|
476791
476863
|
}
|
|
476792
476864
|
};
|
|
476793
|
-
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476794
|
-
const _hoisted_1$
|
|
476795
|
-
const _hoisted_2$
|
|
476796
|
-
const _hoisted_3$
|
|
476797
|
-
const _hoisted_4$
|
|
476798
|
-
const _hoisted_5$
|
|
476865
|
+
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-1cc008ea"]]);
|
|
476866
|
+
const _hoisted_1$a = { class: "dialog-content" };
|
|
476867
|
+
const _hoisted_2$9 = { class: "toolbar" };
|
|
476868
|
+
const _hoisted_3$9 = { class: "toolbar-left" };
|
|
476869
|
+
const _hoisted_4$9 = ["onClick"];
|
|
476870
|
+
const _hoisted_5$9 = { class: "toolbar-right" };
|
|
476799
476871
|
const _hoisted_6$7 = ["onClick"];
|
|
476800
476872
|
const _hoisted_7$6 = { class: "content-area" };
|
|
476801
|
-
const _sfc_main$
|
|
476873
|
+
const _sfc_main$b = {
|
|
476802
476874
|
__name: "index",
|
|
476803
476875
|
setup(__props) {
|
|
476804
476876
|
const visible = ref(true);
|
|
@@ -476860,9 +476932,9 @@ const _sfc_main$a = {
|
|
|
476860
476932
|
onClose: handleClose
|
|
476861
476933
|
}, {
|
|
476862
476934
|
default: withCtx(() => [
|
|
476863
|
-
createElementVNode("div", _hoisted_1$
|
|
476864
|
-
createElementVNode("div", _hoisted_2$
|
|
476865
|
-
createElementVNode("div", _hoisted_3$
|
|
476935
|
+
createElementVNode("div", _hoisted_1$a, [
|
|
476936
|
+
createElementVNode("div", _hoisted_2$9, [
|
|
476937
|
+
createElementVNode("div", _hoisted_3$9, [
|
|
476866
476938
|
(openBlock(), createElementBlock(Fragment, null, renderList(leftTools, (tool, idx) => {
|
|
476867
476939
|
return createVNode$1(_component_el_tooltip, {
|
|
476868
476940
|
key: idx,
|
|
@@ -476874,13 +476946,13 @@ const _sfc_main$a = {
|
|
|
476874
476946
|
createElementVNode("i", {
|
|
476875
476947
|
class: normalizeClass([tool.icon, "tool-icon"]),
|
|
476876
476948
|
onClick: ($event) => handleToolClick(tool, "left", idx)
|
|
476877
|
-
}, null, 10, _hoisted_4$
|
|
476949
|
+
}, null, 10, _hoisted_4$9)
|
|
476878
476950
|
]),
|
|
476879
476951
|
_: 2
|
|
476880
476952
|
}, 1032, ["content"]);
|
|
476881
476953
|
}), 64))
|
|
476882
476954
|
]),
|
|
476883
|
-
createElementVNode("div", _hoisted_5$
|
|
476955
|
+
createElementVNode("div", _hoisted_5$9, [
|
|
476884
476956
|
(openBlock(), createElementBlock(Fragment, null, renderList(rightTools, (tool, idx) => {
|
|
476885
476957
|
return createVNode$1(_component_el_tooltip, {
|
|
476886
476958
|
key: idx,
|
|
@@ -476936,9 +477008,9 @@ const _sfc_main$a = {
|
|
|
476936
477008
|
};
|
|
476937
477009
|
}
|
|
476938
477010
|
};
|
|
476939
|
-
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476940
|
-
const _hoisted_1$
|
|
476941
|
-
const _sfc_main$
|
|
477011
|
+
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-16fc7a81"]]);
|
|
477012
|
+
const _hoisted_1$9 = { class: "flex" };
|
|
477013
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
476942
477014
|
__name: "MapToolbar",
|
|
476943
477015
|
props: {
|
|
476944
477016
|
config: { default: void 0 },
|
|
@@ -477129,7 +477201,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477129
477201
|
class: "main-menu-item"
|
|
477130
477202
|
}, {
|
|
477131
477203
|
title: withCtx(() => [
|
|
477132
|
-
createElementVNode("div", _hoisted_1$
|
|
477204
|
+
createElementVNode("div", _hoisted_1$9, [
|
|
477133
477205
|
createElementVNode("div", null, [
|
|
477134
477206
|
createVNode$1(_component_el_icon, null, {
|
|
477135
477207
|
default: withCtx(() => [
|
|
@@ -477306,7 +477378,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477306
477378
|
]),
|
|
477307
477379
|
_: 1
|
|
477308
477380
|
}, 8, ["default-active"]),
|
|
477309
|
-
createVNode$1(_sfc_main$
|
|
477381
|
+
createVNode$1(_sfc_main$k, {
|
|
477310
477382
|
modelValue: showBasemapPanel.value,
|
|
477311
477383
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showBasemapPanel.value = $event),
|
|
477312
477384
|
config: props.config,
|
|
@@ -477317,28 +477389,28 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477317
477389
|
modelValue: showMeasurement.value,
|
|
477318
477390
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showMeasurement.value = $event)
|
|
477319
477391
|
}, null, 8, ["modelValue"]),
|
|
477320
|
-
createVNode$1(_sfc_main$
|
|
477392
|
+
createVNode$1(_sfc_main$i, {
|
|
477321
477393
|
ref_key: "coordinateLocationDialogRef",
|
|
477322
477394
|
ref: coordinateLocationDialogRef,
|
|
477323
477395
|
modelValue: showCoordinateLocation.value,
|
|
477324
477396
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => showCoordinateLocation.value = $event)
|
|
477325
477397
|
}, null, 8, ["modelValue"]),
|
|
477326
|
-
createVNode$1(_sfc_main$
|
|
477398
|
+
createVNode$1(_sfc_main$h, {
|
|
477327
477399
|
modelValue: showRegionNavigation.value,
|
|
477328
477400
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showRegionNavigation.value = $event),
|
|
477329
477401
|
onNavigationAction: handleNavigationAction
|
|
477330
477402
|
}, null, 8, ["modelValue"]),
|
|
477331
|
-
createVNode$1(_sfc_main$
|
|
477403
|
+
createVNode$1(_sfc_main$g, {
|
|
477332
477404
|
modelValue: showMyMarkers.value,
|
|
477333
477405
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showMyMarkers.value = $event),
|
|
477334
477406
|
onMarkerAction: handleMarkerAction
|
|
477335
477407
|
}, null, 8, ["modelValue"]),
|
|
477336
|
-
createVNode$1(_sfc_main$
|
|
477408
|
+
createVNode$1(_sfc_main$f, {
|
|
477337
477409
|
modelValue: showViewBookmarks.value,
|
|
477338
477410
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showViewBookmarks.value = $event),
|
|
477339
477411
|
onBookmarkAction: handleBookmarkAction
|
|
477340
477412
|
}, null, 8, ["modelValue"]),
|
|
477341
|
-
createVNode$1(_sfc_main$
|
|
477413
|
+
createVNode$1(_sfc_main$e, {
|
|
477342
477414
|
modelValue: showMapPrint.value,
|
|
477343
477415
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showMapPrint.value = $event),
|
|
477344
477416
|
onPrintAction: handlePrintAction
|
|
@@ -477352,7 +477424,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477352
477424
|
};
|
|
477353
477425
|
}
|
|
477354
477426
|
});
|
|
477355
|
-
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477427
|
+
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-f8ee8458"]]);
|
|
477356
477428
|
const TIANDITU_CONFIG = {
|
|
477357
477429
|
baseUrl: "https://api.tianditu.gov.cn/v2/search",
|
|
477358
477430
|
key: "9a7244dd5d1a1299a52946a3d0f8ff68"
|
|
@@ -478012,14 +478084,14 @@ const searchService = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defin
|
|
|
478012
478084
|
MapSearchService,
|
|
478013
478085
|
defaultSearchConfig
|
|
478014
478086
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
478015
|
-
const _hoisted_1$
|
|
478016
|
-
const _hoisted_2$
|
|
478017
|
-
const _hoisted_3$
|
|
478087
|
+
const _hoisted_1$8 = { class: "search-input-wrapper" };
|
|
478088
|
+
const _hoisted_2$8 = { class: "search-results" };
|
|
478089
|
+
const _hoisted_3$8 = {
|
|
478018
478090
|
key: 0,
|
|
478019
478091
|
class: "search-section"
|
|
478020
478092
|
};
|
|
478021
|
-
const _hoisted_4$
|
|
478022
|
-
const _hoisted_5$
|
|
478093
|
+
const _hoisted_4$8 = { class: "section-title" };
|
|
478094
|
+
const _hoisted_5$8 = ["onClick"];
|
|
478023
478095
|
const _hoisted_6$6 = { class: "item-content" };
|
|
478024
478096
|
const _hoisted_7$5 = { class: "item-name" };
|
|
478025
478097
|
const _hoisted_8$5 = { class: "item-address" };
|
|
@@ -478048,7 +478120,7 @@ const _hoisted_18$2 = {
|
|
|
478048
478120
|
key: 0,
|
|
478049
478121
|
class: "no-results"
|
|
478050
478122
|
};
|
|
478051
|
-
const _sfc_main$
|
|
478123
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
478052
478124
|
__name: "MapSearch",
|
|
478053
478125
|
props: {
|
|
478054
478126
|
config: { default: () => ({
|
|
@@ -478293,7 +478365,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478293
478365
|
class: normalizeClass(["map-search-container", [`position-${position2.value}`, { "search-active": isSearchActive.value }]])
|
|
478294
478366
|
}, [
|
|
478295
478367
|
renderSlot(_ctx.$slots, "prepend"),
|
|
478296
|
-
createElementVNode("div", _hoisted_1$
|
|
478368
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
478297
478369
|
renderSlot(_ctx.$slots, "search-input", {
|
|
478298
478370
|
searchQuery: searchQuery.value,
|
|
478299
478371
|
placeholder: placeholder.value,
|
|
@@ -478349,7 +478421,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478349
478421
|
}, 8, ["modelValue", "placeholder"])
|
|
478350
478422
|
])
|
|
478351
478423
|
]),
|
|
478352
|
-
withDirectives(createElementVNode("div", _hoisted_2$
|
|
478424
|
+
withDirectives(createElementVNode("div", _hoisted_2$8, [
|
|
478353
478425
|
renderSlot(_ctx.$slots, "search-results", {
|
|
478354
478426
|
searchResults: searchResults.value,
|
|
478355
478427
|
searchHistory: searchHistory.value,
|
|
@@ -478361,9 +478433,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478361
478433
|
clearHistory,
|
|
478362
478434
|
highlightText
|
|
478363
478435
|
}, () => [
|
|
478364
|
-
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
478436
|
+
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_3$8, [
|
|
478365
478437
|
renderSlot(_ctx.$slots, "history-title", { clearHistory }, () => [
|
|
478366
|
-
createElementVNode("div", _hoisted_4$
|
|
478438
|
+
createElementVNode("div", _hoisted_4$8, [
|
|
478367
478439
|
_cache[2] || (_cache[2] = createElementVNode("span", null, "搜索历史", -1)),
|
|
478368
478440
|
createVNode$1(unref(ElButton), {
|
|
478369
478441
|
type: "text",
|
|
@@ -478399,7 +478471,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478399
478471
|
createElementVNode("div", _hoisted_7$5, toDisplayString(item.name), 1),
|
|
478400
478472
|
createElementVNode("div", _hoisted_8$5, toDisplayString(item.address), 1)
|
|
478401
478473
|
])
|
|
478402
|
-
], 10, _hoisted_5$
|
|
478474
|
+
], 10, _hoisted_5$8)
|
|
478403
478475
|
]);
|
|
478404
478476
|
}), 128))
|
|
478405
478477
|
])) : createCommentVNode("", true),
|
|
@@ -478473,7 +478545,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478473
478545
|
};
|
|
478474
478546
|
}
|
|
478475
478547
|
});
|
|
478476
|
-
const _sfc_main$
|
|
478548
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
478477
478549
|
__name: "index",
|
|
478478
478550
|
props: {
|
|
478479
478551
|
config: {},
|
|
@@ -479019,12 +479091,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
479019
479091
|
};
|
|
479020
479092
|
}
|
|
479021
479093
|
});
|
|
479022
|
-
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
479023
|
-
const _hoisted_1$
|
|
479024
|
-
const _hoisted_2$
|
|
479025
|
-
const _hoisted_3$
|
|
479026
|
-
const _hoisted_4$
|
|
479027
|
-
const _hoisted_5$
|
|
479094
|
+
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-45410a30"]]);
|
|
479095
|
+
const _hoisted_1$7 = { class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 bg-gray-50 rounded-t-lg" };
|
|
479096
|
+
const _hoisted_2$7 = { class: "panel-actions" };
|
|
479097
|
+
const _hoisted_3$7 = { class: "panel-content max-h-125 overflow-y-auto" };
|
|
479098
|
+
const _hoisted_4$7 = { class: "p-2" };
|
|
479099
|
+
const _hoisted_5$7 = { class: "legend-content p-2" };
|
|
479028
479100
|
const _hoisted_6$5 = { key: 0 };
|
|
479029
479101
|
const _hoisted_7$4 = { class: "text-xs text-gray-600" };
|
|
479030
479102
|
const _hoisted_8$4 = { key: 1 };
|
|
@@ -479055,7 +479127,7 @@ const _hoisted_23 = {
|
|
|
479055
479127
|
key: 1,
|
|
479056
479128
|
class: "py-10 px-5 text-center"
|
|
479057
479129
|
};
|
|
479058
|
-
const _sfc_main$
|
|
479130
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
479059
479131
|
__name: "LegendPanel",
|
|
479060
479132
|
props: {
|
|
479061
479133
|
position: { default: "right" },
|
|
@@ -479265,9 +479337,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
479265
479337
|
class: normalizeClass(["custom-legend-box absolute bg-white rounded-lg bottom-40px shadow-lg transition-all duration-300 max-h-[calc(100vh-40px)] overflow-hidden z-1000", { "legend-collapsed": isCollapsed.value }]),
|
|
479266
479338
|
style: normalizeStyle$1(panelStyle.value)
|
|
479267
479339
|
}, [
|
|
479268
|
-
createElementVNode("div", _hoisted_1$
|
|
479340
|
+
createElementVNode("div", _hoisted_1$7, [
|
|
479269
479341
|
_cache[1] || (_cache[1] = createElementVNode("h3", { class: "m-0 text-sm font-semibold text-gray-800" }, "图例", -1)),
|
|
479270
|
-
createElementVNode("div", _hoisted_2$
|
|
479342
|
+
createElementVNode("div", _hoisted_2$7, [
|
|
479271
479343
|
createVNode$1(_component_el_button, {
|
|
479272
479344
|
link: "",
|
|
479273
479345
|
size: "small",
|
|
@@ -479276,8 +479348,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
479276
479348
|
}, null, 8, ["icon"])
|
|
479277
479349
|
])
|
|
479278
479350
|
]),
|
|
479279
|
-
createElementVNode("div", _hoisted_3$
|
|
479280
|
-
createElementVNode("div", _hoisted_4$
|
|
479351
|
+
createElementVNode("div", _hoisted_3$7, [
|
|
479352
|
+
createElementVNode("div", _hoisted_4$7, [
|
|
479281
479353
|
visibleLegends.value.length > 0 ? (openBlock(), createBlock(_component_el_collapse, {
|
|
479282
479354
|
key: 0,
|
|
479283
479355
|
modelValue: activeNames.value,
|
|
@@ -479293,7 +479365,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
479293
479365
|
class: "legend-item"
|
|
479294
479366
|
}, {
|
|
479295
479367
|
default: withCtx(() => [
|
|
479296
|
-
createElementVNode("div", _hoisted_5$
|
|
479368
|
+
createElementVNode("div", _hoisted_5$7, [
|
|
479297
479369
|
legend.type === "symbol" ? (openBlock(), createElementBlock("div", _hoisted_6$5, [
|
|
479298
479370
|
(openBlock(true), createElementBlock(Fragment, null, renderList(legend.items, (item) => {
|
|
479299
479371
|
return openBlock(), createElementBlock("div", {
|
|
@@ -480500,11 +480572,11 @@ class LayerConfigManager {
|
|
|
480500
480572
|
console.log("批量更新结果:", results);
|
|
480501
480573
|
}
|
|
480502
480574
|
}
|
|
480503
|
-
const _hoisted_1$
|
|
480504
|
-
const _hoisted_2$
|
|
480505
|
-
const _hoisted_3$
|
|
480506
|
-
const _hoisted_4$
|
|
480507
|
-
const _hoisted_5$
|
|
480575
|
+
const _hoisted_1$6 = { class: "filter-panel" };
|
|
480576
|
+
const _hoisted_2$6 = { class: "config-section" };
|
|
480577
|
+
const _hoisted_3$6 = { class: "config-item" };
|
|
480578
|
+
const _hoisted_4$6 = { class: "value-text" };
|
|
480579
|
+
const _hoisted_5$6 = { class: "config-item" };
|
|
480508
480580
|
const _hoisted_6$4 = { class: "value-text" };
|
|
480509
480581
|
const _hoisted_7$3 = { class: "config-item" };
|
|
480510
480582
|
const _hoisted_8$3 = { class: "value-text" };
|
|
@@ -480521,7 +480593,7 @@ const _hoisted_18 = { class: "config-item" };
|
|
|
480521
480593
|
const _hoisted_19 = { class: "value-text" };
|
|
480522
480594
|
const _hoisted_20 = { class: "config-section" };
|
|
480523
480595
|
const _hoisted_21 = { class: "preset-buttons" };
|
|
480524
|
-
const _sfc_main$
|
|
480596
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
480525
480597
|
__name: "FilterPanel",
|
|
480526
480598
|
props: {
|
|
480527
480599
|
filters: {}
|
|
@@ -480541,10 +480613,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480541
480613
|
return (_ctx, _cache) => {
|
|
480542
480614
|
const _component_el_slider = resolveComponent("el-slider");
|
|
480543
480615
|
const _component_el_button = resolveComponent("el-button");
|
|
480544
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
480545
|
-
createElementVNode("div", _hoisted_2$
|
|
480616
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
480617
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
480546
480618
|
_cache[15] || (_cache[15] = createElementVNode("h5", null, "色彩调整", -1)),
|
|
480547
|
-
createElementVNode("div", _hoisted_3$
|
|
480619
|
+
createElementVNode("div", _hoisted_3$6, [
|
|
480548
480620
|
_cache[11] || (_cache[11] = createElementVNode("label", null, "色相:", -1)),
|
|
480549
480621
|
createVNode$1(_component_el_slider, {
|
|
480550
480622
|
modelValue: _ctx.filters.hue,
|
|
@@ -480554,9 +480626,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480554
480626
|
step: 1,
|
|
480555
480627
|
onInput: handleFilterChange
|
|
480556
480628
|
}, null, 8, ["modelValue"]),
|
|
480557
|
-
createElementVNode("span", _hoisted_4$
|
|
480629
|
+
createElementVNode("span", _hoisted_4$6, toDisplayString(_ctx.filters.hue) + "°", 1)
|
|
480558
480630
|
]),
|
|
480559
|
-
createElementVNode("div", _hoisted_5$
|
|
480631
|
+
createElementVNode("div", _hoisted_5$6, [
|
|
480560
480632
|
_cache[12] || (_cache[12] = createElementVNode("label", null, "饱和度:", -1)),
|
|
480561
480633
|
createVNode$1(_component_el_slider, {
|
|
480562
480634
|
modelValue: _ctx.filters.saturate,
|
|
@@ -480691,14 +480763,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480691
480763
|
};
|
|
480692
480764
|
}
|
|
480693
480765
|
});
|
|
480694
|
-
const _hoisted_1$
|
|
480695
|
-
const _hoisted_2$
|
|
480696
|
-
const _hoisted_3$
|
|
480766
|
+
const _hoisted_1$5 = { class: "style-config-panel" };
|
|
480767
|
+
const _hoisted_2$5 = { class: "panel-title" };
|
|
480768
|
+
const _hoisted_3$5 = {
|
|
480697
480769
|
key: 0,
|
|
480698
480770
|
class: "config-section"
|
|
480699
480771
|
};
|
|
480700
|
-
const _hoisted_4$
|
|
480701
|
-
const _hoisted_5$
|
|
480772
|
+
const _hoisted_4$5 = { class: "config-item" };
|
|
480773
|
+
const _hoisted_5$5 = { class: "value-text" };
|
|
480702
480774
|
const _hoisted_6$3 = { class: "config-item" };
|
|
480703
480775
|
const _hoisted_7$2 = { class: "value-text" };
|
|
480704
480776
|
const _hoisted_8$2 = {
|
|
@@ -480710,7 +480782,7 @@ const _hoisted_10$1 = { class: "config-item" };
|
|
|
480710
480782
|
const _hoisted_11$1 = { class: "config-item" };
|
|
480711
480783
|
const _hoisted_12$1 = { class: "config-item" };
|
|
480712
480784
|
const _hoisted_13$1 = { class: "panel-actions" };
|
|
480713
|
-
const _sfc_main$
|
|
480785
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
480714
480786
|
__name: "LayerStyleConfig",
|
|
480715
480787
|
props: {
|
|
480716
480788
|
layerData: {}
|
|
@@ -480741,11 +480813,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480741
480813
|
const _component_el_select = resolveComponent("el-select");
|
|
480742
480814
|
const _component_el_switch = resolveComponent("el-switch");
|
|
480743
480815
|
const _component_el_button = resolveComponent("el-button");
|
|
480744
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
480745
|
-
createElementVNode("h4", _hoisted_2$
|
|
480746
|
-
isClusterLayer.value ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
480816
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
480817
|
+
createElementVNode("h4", _hoisted_2$5, toDisplayString(_ctx.layerData.label) + " - 样式配置", 1),
|
|
480818
|
+
isClusterLayer.value ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
480747
480819
|
_cache[8] || (_cache[8] = createElementVNode("h5", null, "聚合配置", -1)),
|
|
480748
|
-
createElementVNode("div", _hoisted_4$
|
|
480820
|
+
createElementVNode("div", _hoisted_4$5, [
|
|
480749
480821
|
_cache[6] || (_cache[6] = createElementVNode("label", null, "聚合距离:", -1)),
|
|
480750
480822
|
createVNode$1(_component_el_slider, {
|
|
480751
480823
|
modelValue: _ctx.layerData.clusterDistance,
|
|
@@ -480755,7 +480827,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480755
480827
|
size: "small",
|
|
480756
480828
|
onInput: handleClusterDistanceChange
|
|
480757
480829
|
}, null, 8, ["modelValue"]),
|
|
480758
|
-
createElementVNode("span", _hoisted_5$
|
|
480830
|
+
createElementVNode("span", _hoisted_5$5, toDisplayString(_ctx.layerData.clusterDistance) + "px", 1)
|
|
480759
480831
|
]),
|
|
480760
480832
|
createElementVNode("div", _hoisted_6$3, [
|
|
480761
480833
|
_cache[7] || (_cache[7] = createElementVNode("label", null, "最小距离:", -1)),
|
|
@@ -480840,12 +480912,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480840
480912
|
};
|
|
480841
480913
|
}
|
|
480842
480914
|
});
|
|
480843
|
-
const _hoisted_1$
|
|
480844
|
-
const _hoisted_2$
|
|
480845
|
-
const _hoisted_3$
|
|
480846
|
-
const _hoisted_4$
|
|
480847
|
-
const _hoisted_5$
|
|
480848
|
-
const _sfc_main$
|
|
480915
|
+
const _hoisted_1$4 = { class: "font-medium" };
|
|
480916
|
+
const _hoisted_2$4 = { class: "layer-info" };
|
|
480917
|
+
const _hoisted_3$4 = { class: "layer-name" };
|
|
480918
|
+
const _hoisted_4$4 = { class: "opacity-control" };
|
|
480919
|
+
const _hoisted_5$4 = { class: "opacity-value" };
|
|
480920
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
480849
480921
|
__name: "LayerTreeNode",
|
|
480850
480922
|
props: {
|
|
480851
480923
|
data: {},
|
|
@@ -480897,7 +480969,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480897
480969
|
]),
|
|
480898
480970
|
_: 1
|
|
480899
480971
|
}),
|
|
480900
|
-
createElementVNode("span", _hoisted_1$
|
|
480972
|
+
createElementVNode("span", _hoisted_1$4, toDisplayString(_ctx.data.label), 1)
|
|
480901
480973
|
], 32)) : (openBlock(), createElementBlock("div", {
|
|
480902
480974
|
key: 1,
|
|
480903
480975
|
class: "layer-item",
|
|
@@ -480905,7 +480977,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480905
480977
|
onClick: _cache[5] || (_cache[5] = withModifiers(() => {
|
|
480906
480978
|
}, ["stop"]))
|
|
480907
480979
|
}, [
|
|
480908
|
-
createElementVNode("div", _hoisted_2$
|
|
480980
|
+
createElementVNode("div", _hoisted_2$4, [
|
|
480909
480981
|
createVNode$1(_component_el_icon, {
|
|
480910
480982
|
class: normalizeClass(["layer-icon", layerIconClass.value])
|
|
480911
480983
|
}, {
|
|
@@ -480914,7 +480986,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480914
480986
|
]),
|
|
480915
480987
|
_: 1
|
|
480916
480988
|
}, 8, ["class"]),
|
|
480917
|
-
createElementVNode("span", _hoisted_3$
|
|
480989
|
+
createElementVNode("span", _hoisted_3$4, toDisplayString(_ctx.data.label), 1)
|
|
480918
480990
|
]),
|
|
480919
480991
|
createElementVNode("div", {
|
|
480920
480992
|
class: "layer-controls",
|
|
@@ -480925,7 +480997,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480925
480997
|
onDblclick: _cache[4] || (_cache[4] = withModifiers(() => {
|
|
480926
480998
|
}, ["stop"]))
|
|
480927
480999
|
}, [
|
|
480928
|
-
createElementVNode("div", _hoisted_4$
|
|
481000
|
+
createElementVNode("div", _hoisted_4$4, [
|
|
480929
481001
|
createVNode$1(_component_el_slider, {
|
|
480930
481002
|
modelValue: _ctx.data.layerData.opacity,
|
|
480931
481003
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.data.layerData.opacity = $event),
|
|
@@ -480935,7 +481007,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480935
481007
|
class: "opacity-slider",
|
|
480936
481008
|
onInput: handleOpacityChange
|
|
480937
481009
|
}, null, 8, ["modelValue"]),
|
|
480938
|
-
createElementVNode("span", _hoisted_5$
|
|
481010
|
+
createElementVNode("span", _hoisted_5$4, toDisplayString(_ctx.data.layerData.opacity) + "%", 1)
|
|
480939
481011
|
]),
|
|
480940
481012
|
createVNode$1(_component_el_popover, {
|
|
480941
481013
|
placement: "left",
|
|
@@ -480964,7 +481036,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480964
481036
|
})
|
|
480965
481037
|
]),
|
|
480966
481038
|
default: withCtx(() => [
|
|
480967
|
-
createVNode$1(_sfc_main$
|
|
481039
|
+
createVNode$1(_sfc_main$5, {
|
|
480968
481040
|
"layer-data": _ctx.data.layerData,
|
|
480969
481041
|
onClusterDistanceChange: handleClusterDistanceChange,
|
|
480970
481042
|
onSuperMapConfigChange: handleSuperMapConfigChange,
|
|
@@ -480979,15 +481051,15 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480979
481051
|
};
|
|
480980
481052
|
}
|
|
480981
481053
|
});
|
|
480982
|
-
const _hoisted_1$
|
|
480983
|
-
const _hoisted_2$
|
|
480984
|
-
const _hoisted_3$
|
|
480985
|
-
const _hoisted_4$
|
|
480986
|
-
const _hoisted_5$
|
|
481054
|
+
const _hoisted_1$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
481055
|
+
const _hoisted_2$3 = { class: "pb-2 flex items-center justify-between" };
|
|
481056
|
+
const _hoisted_3$3 = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
|
|
481057
|
+
const _hoisted_4$3 = { class: "global-style-panel" };
|
|
481058
|
+
const _hoisted_5$3 = { class: "config-section" };
|
|
480987
481059
|
const _hoisted_6$2 = { class: "config-item" };
|
|
480988
481060
|
const _hoisted_7$1 = { class: "current-style-display" };
|
|
480989
481061
|
const _hoisted_8$1 = { class: "style-preview" };
|
|
480990
|
-
const _sfc_main$
|
|
481062
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
480991
481063
|
__name: "LayerPanel",
|
|
480992
481064
|
props: {
|
|
480993
481065
|
modelValue: { type: Boolean }
|
|
@@ -481825,7 +481897,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481825
481897
|
const _component_el_tree = resolveComponent("el-tree");
|
|
481826
481898
|
const _component_el_tab_pane = resolveComponent("el-tab-pane");
|
|
481827
481899
|
const _component_el_tabs = resolveComponent("el-tabs");
|
|
481828
|
-
return openBlock(), createBlock(_sfc_main$
|
|
481900
|
+
return openBlock(), createBlock(_sfc_main$l, mergeProps({
|
|
481829
481901
|
modelValue: visible.value,
|
|
481830
481902
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
|
|
481831
481903
|
}, dialogProps.value, { onClose: handleClose }), createSlots({
|
|
@@ -481863,8 +481935,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481863
481935
|
name: "layers"
|
|
481864
481936
|
}, {
|
|
481865
481937
|
default: withCtx(() => [
|
|
481866
|
-
createElementVNode("div", _hoisted_1$
|
|
481867
|
-
createElementVNode("div", _hoisted_2$
|
|
481938
|
+
createElementVNode("div", _hoisted_1$3, [
|
|
481939
|
+
createElementVNode("div", _hoisted_2$3, [
|
|
481868
481940
|
_cache[7] || (_cache[7] = createElementVNode("div", { class: "text-sm text-gray-600" }, "树形视图", -1)),
|
|
481869
481941
|
createVNode$1(_component_el_radio_group, {
|
|
481870
481942
|
modelValue: activeTreeType.value,
|
|
@@ -481910,7 +481982,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481910
481982
|
class: "layer-tree"
|
|
481911
481983
|
}, {
|
|
481912
481984
|
default: withCtx(({ node, data }) => [
|
|
481913
|
-
createVNode$1(_sfc_main$
|
|
481985
|
+
createVNode$1(_sfc_main$4, {
|
|
481914
481986
|
data,
|
|
481915
481987
|
"layer-tree-manager": unref(layerTreeManager),
|
|
481916
481988
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -481926,7 +481998,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481926
481998
|
key: group2.id,
|
|
481927
481999
|
class: "mb-3"
|
|
481928
482000
|
}, [
|
|
481929
|
-
createElementVNode("div", _hoisted_3$
|
|
482001
|
+
createElementVNode("div", _hoisted_3$3, toDisplayString(group2.name), 1),
|
|
481930
482002
|
createVNode$1(_component_el_tree, {
|
|
481931
482003
|
ref_for: true,
|
|
481932
482004
|
ref: (el) => classificationTreeRefs.value[group2.id] = el,
|
|
@@ -481948,7 +482020,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481948
482020
|
class: "layer-tree"
|
|
481949
482021
|
}, {
|
|
481950
482022
|
default: withCtx(({ node, data }) => [
|
|
481951
|
-
createVNode$1(_sfc_main$
|
|
482023
|
+
createVNode$1(_sfc_main$4, {
|
|
481952
482024
|
data,
|
|
481953
482025
|
"layer-tree-manager": unref(layerTreeManager),
|
|
481954
482026
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -481971,7 +482043,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481971
482043
|
name: "style"
|
|
481972
482044
|
}, {
|
|
481973
482045
|
default: withCtx(() => [
|
|
481974
|
-
createElementVNode("div", _hoisted_4$
|
|
482046
|
+
createElementVNode("div", _hoisted_4$3, [
|
|
481975
482047
|
createVNode$1(_component_el_tabs, {
|
|
481976
482048
|
modelValue: activeStyleTab.value,
|
|
481977
482049
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => activeStyleTab.value = $event),
|
|
@@ -481983,7 +482055,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481983
482055
|
name: "filters"
|
|
481984
482056
|
}, {
|
|
481985
482057
|
default: withCtx(() => [
|
|
481986
|
-
createVNode$1(_sfc_main$
|
|
482058
|
+
createVNode$1(_sfc_main$6, {
|
|
481987
482059
|
filters: unref(globalFilters),
|
|
481988
482060
|
onFilterChange: applyFilterEffect,
|
|
481989
482061
|
onReset: resetFilters,
|
|
@@ -481997,7 +482069,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481997
482069
|
name: "custom"
|
|
481998
482070
|
}, {
|
|
481999
482071
|
default: withCtx(() => [
|
|
482000
|
-
createElementVNode("div", _hoisted_5$
|
|
482072
|
+
createElementVNode("div", _hoisted_5$3, [
|
|
482001
482073
|
createElementVNode("div", _hoisted_6$2, [
|
|
482002
482074
|
createVNode$1(unref(ElInput), {
|
|
482003
482075
|
modelValue: unref(globalCustomCss),
|
|
@@ -482068,6 +482140,150 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
482068
482140
|
};
|
|
482069
482141
|
}
|
|
482070
482142
|
});
|
|
482143
|
+
const _hoisted_1$2 = { class: "layer-panel" };
|
|
482144
|
+
const _hoisted_2$2 = ["onClick"];
|
|
482145
|
+
const _hoisted_3$2 = ["title"];
|
|
482146
|
+
const _hoisted_4$2 = {
|
|
482147
|
+
key: 0,
|
|
482148
|
+
class: "active-border"
|
|
482149
|
+
};
|
|
482150
|
+
const _hoisted_5$2 = { class: "layer-name" };
|
|
482151
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
482152
|
+
__name: "OlBaseLayerSwitcher",
|
|
482153
|
+
props: {
|
|
482154
|
+
map: {},
|
|
482155
|
+
baseLayers: {}
|
|
482156
|
+
},
|
|
482157
|
+
setup(__props) {
|
|
482158
|
+
const props = __props;
|
|
482159
|
+
const expand2 = ref(false);
|
|
482160
|
+
const validBaseLayers = computed(() => {
|
|
482161
|
+
return props.baseLayers.filter((layer2) => layer2.baseImgUrl && layer2.baseImgUrl.trim() !== "");
|
|
482162
|
+
});
|
|
482163
|
+
const containerStyle = computed(() => {
|
|
482164
|
+
if (!expand2.value) {
|
|
482165
|
+
return { width: "96px" };
|
|
482166
|
+
}
|
|
482167
|
+
const count2 = validBaseLayers.value.length;
|
|
482168
|
+
if (count2 === 0)
|
|
482169
|
+
return { width: "96px" };
|
|
482170
|
+
const width = count2 * 86 + (count2 - 1) * 10 + 10;
|
|
482171
|
+
return { width: `${width}px` };
|
|
482172
|
+
});
|
|
482173
|
+
const currentLayer = ref(null);
|
|
482174
|
+
watch(() => props.baseLayers, (layers) => {
|
|
482175
|
+
if (!currentLayer.value) {
|
|
482176
|
+
const visibleLayer = layers.find((l2) => l2.visible && l2.baseImgUrl);
|
|
482177
|
+
if (visibleLayer) {
|
|
482178
|
+
currentLayer.value = visibleLayer;
|
|
482179
|
+
} else if (validBaseLayers.value.length > 0) {
|
|
482180
|
+
currentLayer.value = validBaseLayers.value[0];
|
|
482181
|
+
}
|
|
482182
|
+
}
|
|
482183
|
+
}, { deep: true, immediate: true });
|
|
482184
|
+
const switchLayer = (targetLayer) => {
|
|
482185
|
+
if (!props.map)
|
|
482186
|
+
return;
|
|
482187
|
+
currentLayer.value = targetLayer;
|
|
482188
|
+
layerEventBus.emit("basemap-switch-request", {
|
|
482189
|
+
basemapId: targetLayer.id,
|
|
482190
|
+
basemapName: targetLayer.name,
|
|
482191
|
+
basemapType: targetLayer.type,
|
|
482192
|
+
basemapConfig: targetLayer
|
|
482193
|
+
});
|
|
482194
|
+
props.baseLayers.forEach((layerConfig) => {
|
|
482195
|
+
const isVisible2 = layerConfig.id === targetLayer.id;
|
|
482196
|
+
setLayerVisibility(layerConfig, isVisible2);
|
|
482197
|
+
});
|
|
482198
|
+
expand2.value = false;
|
|
482199
|
+
};
|
|
482200
|
+
const setLayerVisibility = (config, visible) => {
|
|
482201
|
+
config.visible = visible;
|
|
482202
|
+
if (config.type === "group") {
|
|
482203
|
+
if (config.layers) {
|
|
482204
|
+
config.layers.forEach((child) => setLayerVisibility(child, visible));
|
|
482205
|
+
}
|
|
482206
|
+
if (config.children) {
|
|
482207
|
+
config.children.forEach((child) => setLayerVisibility(child, visible));
|
|
482208
|
+
}
|
|
482209
|
+
}
|
|
482210
|
+
if (config.id) {
|
|
482211
|
+
const layer2 = findLayerById(props.map, config.id);
|
|
482212
|
+
if (layer2) {
|
|
482213
|
+
layer2.setVisible(visible);
|
|
482214
|
+
}
|
|
482215
|
+
}
|
|
482216
|
+
};
|
|
482217
|
+
const findLayerById = (map2, id) => {
|
|
482218
|
+
const layers = map2.getLayers().getArray();
|
|
482219
|
+
return findLayerRecursive(layers, id);
|
|
482220
|
+
};
|
|
482221
|
+
const findLayerRecursive = (layers, id) => {
|
|
482222
|
+
for (const layer2 of layers) {
|
|
482223
|
+
if (layer2.get("id") === id) {
|
|
482224
|
+
return layer2;
|
|
482225
|
+
}
|
|
482226
|
+
if (layer2.getLayers && typeof layer2.getLayers === "function") {
|
|
482227
|
+
const found = findLayerRecursive(layer2.getLayers().getArray(), id);
|
|
482228
|
+
if (found)
|
|
482229
|
+
return found;
|
|
482230
|
+
}
|
|
482231
|
+
}
|
|
482232
|
+
return null;
|
|
482233
|
+
};
|
|
482234
|
+
return (_ctx, _cache) => {
|
|
482235
|
+
var _a3, _b3;
|
|
482236
|
+
return openBlock(), createElementBlock("div", {
|
|
482237
|
+
class: normalizeClass(["ol-base-layer-switcher", { "is-expanded": expand2.value }]),
|
|
482238
|
+
style: normalizeStyle$1(containerStyle.value),
|
|
482239
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => expand2.value = true),
|
|
482240
|
+
onMouseleave: _cache[1] || (_cache[1] = ($event) => expand2.value = false)
|
|
482241
|
+
}, [
|
|
482242
|
+
createElementVNode("div", _hoisted_1$2, [
|
|
482243
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(validBaseLayers.value, (layer2) => {
|
|
482244
|
+
var _a4, _b4;
|
|
482245
|
+
return openBlock(), createElementBlock("div", {
|
|
482246
|
+
key: layer2.id,
|
|
482247
|
+
class: normalizeClass(["layer-item", { active: ((_a4 = currentLayer.value) == null ? void 0 : _a4.id) === layer2.id }]),
|
|
482248
|
+
onClick: ($event) => switchLayer(layer2),
|
|
482249
|
+
style: normalizeStyle$1({ backgroundImage: `url(${layer2.baseImgUrl})` })
|
|
482250
|
+
}, [
|
|
482251
|
+
createElementVNode("div", {
|
|
482252
|
+
class: "layer-name",
|
|
482253
|
+
title: layer2.name
|
|
482254
|
+
}, toDisplayString(layer2.name), 9, _hoisted_3$2),
|
|
482255
|
+
((_b4 = currentLayer.value) == null ? void 0 : _b4.id) === layer2.id ? (openBlock(), createElementBlock("div", _hoisted_4$2, [..._cache[2] || (_cache[2] = [
|
|
482256
|
+
createElementVNode("div", { class: "check-icon" }, [
|
|
482257
|
+
createElementVNode("svg", {
|
|
482258
|
+
viewBox: "0 0 1024 1024",
|
|
482259
|
+
width: "16",
|
|
482260
|
+
height: "16"
|
|
482261
|
+
}, [
|
|
482262
|
+
createElementVNode("path", {
|
|
482263
|
+
d: "M384 725.333333l-192-192 64-64 128 128 320-320 64 64z",
|
|
482264
|
+
fill: "#fff"
|
|
482265
|
+
})
|
|
482266
|
+
])
|
|
482267
|
+
], -1)
|
|
482268
|
+
])])) : createCommentVNode("", true)
|
|
482269
|
+
], 14, _hoisted_2$2);
|
|
482270
|
+
}), 128))
|
|
482271
|
+
]),
|
|
482272
|
+
createElementVNode("div", {
|
|
482273
|
+
class: normalizeClass(["layer-trigger", { "is-hidden": expand2.value }])
|
|
482274
|
+
}, [
|
|
482275
|
+
createElementVNode("div", {
|
|
482276
|
+
class: "current-layer-box",
|
|
482277
|
+
style: normalizeStyle$1({ backgroundImage: `url(${(_a3 = currentLayer.value) == null ? void 0 : _a3.baseImgUrl})` })
|
|
482278
|
+
}, [
|
|
482279
|
+
createElementVNode("div", _hoisted_5$2, toDisplayString((_b3 = currentLayer.value) == null ? void 0 : _b3.name), 1)
|
|
482280
|
+
], 4)
|
|
482281
|
+
], 2)
|
|
482282
|
+
], 38);
|
|
482283
|
+
};
|
|
482284
|
+
}
|
|
482285
|
+
});
|
|
482286
|
+
const OlBaseLayerSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-396e5ed1"]]);
|
|
482071
482287
|
const _hoisted_1$1 = {
|
|
482072
482288
|
key: 2,
|
|
482073
482289
|
class: "tooltip-content"
|
|
@@ -483313,12 +483529,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483313
483529
|
isInFullscreen: () => isFullscreen.value
|
|
483314
483530
|
});
|
|
483315
483531
|
return (_ctx, _cache) => {
|
|
483532
|
+
var _a3;
|
|
483316
483533
|
const _component_el_icon = resolveComponent("el-icon");
|
|
483317
483534
|
const _component_el_button = resolveComponent("el-button");
|
|
483318
483535
|
return openBlock(), createElementBlock("div", {
|
|
483319
483536
|
class: normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
|
|
483320
483537
|
}, [
|
|
483321
|
-
createVNode$1(_sfc_main$
|
|
483538
|
+
createVNode$1(_sfc_main$n, {
|
|
483322
483539
|
ref_key: "mapContainerRef",
|
|
483323
483540
|
ref: mapContainerRef,
|
|
483324
483541
|
config: finalMapConfig.value,
|
|
@@ -483422,7 +483639,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483422
483639
|
}, null, 8, ["config", "left-offset", "right-offset", "top-offset", "bottom-offset"]), [
|
|
483423
483640
|
[vShow, finalShowToolbar.value]
|
|
483424
483641
|
]),
|
|
483425
|
-
withDirectives(createVNode$1(_sfc_main$
|
|
483642
|
+
withDirectives(createVNode$1(_sfc_main$9, {
|
|
483426
483643
|
ref_key: "mapSearchRef",
|
|
483427
483644
|
ref: mapSearchRef,
|
|
483428
483645
|
config: finalSearchConfig.value,
|
|
@@ -483457,7 +483674,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483457
483674
|
hasToolbarSlot.value ? renderSlot(_ctx.$slots, "toolbar", { key: 2 }) : createCommentVNode("", true),
|
|
483458
483675
|
hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "mapInfo", { key: 3 }) : createCommentVNode("", true),
|
|
483459
483676
|
hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "map-info", { key: 4 }) : createCommentVNode("", true),
|
|
483460
|
-
finalEnableLayerPanel.value ? (openBlock(), createBlock(_sfc_main$
|
|
483677
|
+
finalEnableLayerPanel.value ? (openBlock(), createBlock(_sfc_main$3, {
|
|
483461
483678
|
key: 5,
|
|
483462
483679
|
modelValue: showLayerPanel.value,
|
|
483463
483680
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showLayerPanel.value = $event)
|
|
@@ -483488,7 +483705,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483488
483705
|
key: "2"
|
|
483489
483706
|
} : void 0
|
|
483490
483707
|
]), 1032, ["modelValue"])) : createCommentVNode("", true),
|
|
483491
|
-
showLegend.value ? (openBlock(), createBlock(_sfc_main$
|
|
483708
|
+
showLegend.value ? (openBlock(), createBlock(_sfc_main$7, {
|
|
483492
483709
|
key: 6,
|
|
483493
483710
|
position: finalLegendPosition.value,
|
|
483494
483711
|
width: finalLegendWidth.value,
|
|
@@ -483536,7 +483753,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483536
483753
|
}), 128))
|
|
483537
483754
|
])
|
|
483538
483755
|
])) : createCommentVNode("", true),
|
|
483539
|
-
|
|
483756
|
+
map2.value && ((_a3 = finalMapConfig.value.baseLayers) == null ? void 0 : _a3.length) ? (openBlock(), createBlock(OlBaseLayerSwitcher, {
|
|
483757
|
+
key: 9,
|
|
483758
|
+
map: map2.value,
|
|
483759
|
+
"base-layers": finalMapConfig.value.baseLayers
|
|
483760
|
+
}, null, 8, ["map", "base-layers"])) : createCommentVNode("", true),
|
|
483761
|
+
createVNode$1(_sfc_main$e, {
|
|
483540
483762
|
modelValue: showPrintDialog.value,
|
|
483541
483763
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showPrintDialog.value = $event),
|
|
483542
483764
|
"map-instance": map2.value,
|
|
@@ -491818,7 +492040,7 @@ function(t3) {
|
|
|
491818
492040
|
*/
|
|
491819
492041
|
function(t3) {
|
|
491820
492042
|
function e8() {
|
|
491821
|
-
return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-
|
|
492043
|
+
return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-5569f6dd.mjs")).catch(function(t4) {
|
|
491822
492044
|
return Promise.reject(new Error("Could not load canvg: " + t4));
|
|
491823
492045
|
}).then(function(t4) {
|
|
491824
492046
|
return t4.default ? t4.default : t4;
|
|
@@ -500693,14 +500915,14 @@ const getAssetUrl = (path2) => {
|
|
|
500693
500915
|
};
|
|
500694
500916
|
const install = (app) => {
|
|
500695
500917
|
app.component("CustomOpenlayer", _sfc_main);
|
|
500696
|
-
app.component("CustomDialog", _sfc_main$
|
|
500697
|
-
app.component("SvgIcon", _sfc_main$
|
|
500918
|
+
app.component("CustomDialog", _sfc_main$l);
|
|
500919
|
+
app.component("SvgIcon", _sfc_main$m);
|
|
500698
500920
|
};
|
|
500699
500921
|
const index = {
|
|
500700
500922
|
install,
|
|
500701
500923
|
CustomOpenlayer: _sfc_main,
|
|
500702
|
-
CustomDialog: _sfc_main$
|
|
500703
|
-
SvgIcon: _sfc_main$
|
|
500924
|
+
CustomDialog: _sfc_main$l,
|
|
500925
|
+
SvgIcon: _sfc_main$m
|
|
500704
500926
|
};
|
|
500705
500927
|
const version = "1.0.0";
|
|
500706
500928
|
export {
|
|
@@ -500745,8 +500967,8 @@ export {
|
|
|
500745
500967
|
_defineProperty as b,
|
|
500746
500968
|
commonjsGlobal as c,
|
|
500747
500969
|
_sfc_main as d,
|
|
500748
|
-
_sfc_main$
|
|
500749
|
-
_sfc_main$
|
|
500970
|
+
_sfc_main$l as e,
|
|
500971
|
+
_sfc_main$m as f,
|
|
500750
500972
|
index as g,
|
|
500751
500973
|
getAssetUrl as h,
|
|
500752
500974
|
install as i,
|