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
package/lib/index.umd.js
CHANGED
|
@@ -1557,7 +1557,7 @@ var __publicField = (obj, key, value) => {
|
|
|
1557
1557
|
name: "ElIcon",
|
|
1558
1558
|
inheritAttrs: false
|
|
1559
1559
|
});
|
|
1560
|
-
const _sfc_main$
|
|
1560
|
+
const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
|
|
1561
1561
|
...__default__$5,
|
|
1562
1562
|
props: iconProps,
|
|
1563
1563
|
setup(__props) {
|
|
@@ -1582,7 +1582,7 @@ var __publicField = (obj, key, value) => {
|
|
|
1582
1582
|
};
|
|
1583
1583
|
}
|
|
1584
1584
|
});
|
|
1585
|
-
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
1585
|
+
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__file", "icon.vue"]]);
|
|
1586
1586
|
const ElIcon = withInstall(Icon$4);
|
|
1587
1587
|
/*! Element Plus Icons Vue v2.3.2 */
|
|
1588
1588
|
var _sfc_main2 = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -2814,7 +2814,7 @@ var __publicField = (obj, key, value) => {
|
|
|
2814
2814
|
name: COMPONENT_NAME,
|
|
2815
2815
|
inheritAttrs: false
|
|
2816
2816
|
});
|
|
2817
|
-
const _sfc_main$
|
|
2817
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
2818
2818
|
...__default__$4,
|
|
2819
2819
|
props: inputProps,
|
|
2820
2820
|
emits: inputEmits,
|
|
@@ -3225,7 +3225,7 @@ var __publicField = (obj, key, value) => {
|
|
|
3225
3225
|
};
|
|
3226
3226
|
}
|
|
3227
3227
|
});
|
|
3228
|
-
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3228
|
+
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$y, [["__file", "input.vue"]]);
|
|
3229
3229
|
const ElInput = withInstall(Input);
|
|
3230
3230
|
const FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
|
|
3231
3231
|
const FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
|
|
@@ -3420,7 +3420,7 @@ var __publicField = (obj, key, value) => {
|
|
|
3420
3420
|
}
|
|
3421
3421
|
});
|
|
3422
3422
|
};
|
|
3423
|
-
const _sfc_main$
|
|
3423
|
+
const _sfc_main$x = vue.defineComponent({
|
|
3424
3424
|
name: "ElFocusTrap",
|
|
3425
3425
|
inheritAttrs: false,
|
|
3426
3426
|
props: {
|
|
@@ -3665,7 +3665,7 @@ var __publicField = (obj, key, value) => {
|
|
|
3665
3665
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3666
3666
|
return vue.renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
|
|
3667
3667
|
}
|
|
3668
|
-
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3668
|
+
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["render", _sfc_render$1], ["__file", "focus-trap.vue"]]);
|
|
3669
3669
|
const badgeProps = buildProps({
|
|
3670
3670
|
value: {
|
|
3671
3671
|
type: [String, Number],
|
|
@@ -3701,7 +3701,7 @@ var __publicField = (obj, key, value) => {
|
|
|
3701
3701
|
const __default__$3 = vue.defineComponent({
|
|
3702
3702
|
name: "ElBadge"
|
|
3703
3703
|
});
|
|
3704
|
-
const _sfc_main$
|
|
3704
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
3705
3705
|
...__default__$3,
|
|
3706
3706
|
props: badgeProps,
|
|
3707
3707
|
setup(__props, { expose }) {
|
|
@@ -3763,7 +3763,7 @@ var __publicField = (obj, key, value) => {
|
|
|
3763
3763
|
};
|
|
3764
3764
|
}
|
|
3765
3765
|
});
|
|
3766
|
-
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3766
|
+
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__file", "badge.vue"]]);
|
|
3767
3767
|
const ElBadge = withInstall(Badge);
|
|
3768
3768
|
const buttonGroupContextKey = Symbol("buttonGroupContextKey");
|
|
3769
3769
|
const useDeprecated = ({ from, replacement: replacement2, scope, version: version2, ref, type = "API" }, condition) => {
|
|
@@ -4858,7 +4858,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4858
4858
|
const __default__$2 = vue.defineComponent({
|
|
4859
4859
|
name: "ElButton"
|
|
4860
4860
|
});
|
|
4861
|
-
const _sfc_main$
|
|
4861
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
4862
4862
|
...__default__$2,
|
|
4863
4863
|
props: buttonProps,
|
|
4864
4864
|
emits: buttonEmits,
|
|
@@ -4936,7 +4936,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4936
4936
|
};
|
|
4937
4937
|
}
|
|
4938
4938
|
});
|
|
4939
|
-
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
4939
|
+
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__file", "button.vue"]]);
|
|
4940
4940
|
const buttonGroupProps = {
|
|
4941
4941
|
size: buttonProps.size,
|
|
4942
4942
|
type: buttonProps.type
|
|
@@ -4944,7 +4944,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4944
4944
|
const __default__$1 = vue.defineComponent({
|
|
4945
4945
|
name: "ElButtonGroup"
|
|
4946
4946
|
});
|
|
4947
|
-
const _sfc_main$
|
|
4947
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
4948
4948
|
...__default__$1,
|
|
4949
4949
|
props: buttonGroupProps,
|
|
4950
4950
|
setup(__props) {
|
|
@@ -4963,7 +4963,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4963
4963
|
};
|
|
4964
4964
|
}
|
|
4965
4965
|
});
|
|
4966
|
-
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
4966
|
+
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "button-group.vue"]]);
|
|
4967
4967
|
const ElButton = withInstall(Button$2, {
|
|
4968
4968
|
ButtonGroup
|
|
4969
4969
|
});
|
|
@@ -5410,7 +5410,7 @@ var __publicField = (obj, key, value) => {
|
|
|
5410
5410
|
const __default__ = vue.defineComponent({
|
|
5411
5411
|
name: "ElMessage"
|
|
5412
5412
|
});
|
|
5413
|
-
const _sfc_main$
|
|
5413
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
5414
5414
|
...__default__,
|
|
5415
5415
|
props: messageProps,
|
|
5416
5416
|
emits: messageEmits,
|
|
@@ -5564,7 +5564,7 @@ var __publicField = (obj, key, value) => {
|
|
|
5564
5564
|
};
|
|
5565
5565
|
}
|
|
5566
5566
|
});
|
|
5567
|
-
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
5567
|
+
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "message.vue"]]);
|
|
5568
5568
|
let seed = 1;
|
|
5569
5569
|
const normalizeAppendTo = (normalized) => {
|
|
5570
5570
|
const appendTo = normalized.appendTo;
|
|
@@ -5759,7 +5759,7 @@ var __publicField = (obj, key, value) => {
|
|
|
5759
5759
|
}
|
|
5760
5760
|
}
|
|
5761
5761
|
};
|
|
5762
|
-
const _sfc_main$
|
|
5762
|
+
const _sfc_main$s = vue.defineComponent({
|
|
5763
5763
|
name: "ElMessageBox",
|
|
5764
5764
|
directives: {
|
|
5765
5765
|
TrapFocus
|
|
@@ -6231,7 +6231,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6231
6231
|
_: 3
|
|
6232
6232
|
}, 8, ["onAfterLeave"]);
|
|
6233
6233
|
}
|
|
6234
|
-
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
6234
|
+
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["render", _sfc_render], ["__file", "index.vue"]]);
|
|
6235
6235
|
const messageInstance = /* @__PURE__ */ new Map();
|
|
6236
6236
|
const getAppendToElement = (props) => {
|
|
6237
6237
|
let appendTo = document.body;
|
|
@@ -81630,12 +81630,308 @@ ${this.attributes_.map(
|
|
|
81630
81630
|
this.locateToGeoJSON(featureCollection2, options);
|
|
81631
81631
|
}
|
|
81632
81632
|
}
|
|
81633
|
+
const DEFAULT_HIGHLIGHT_STYLE = {
|
|
81634
|
+
fill: {
|
|
81635
|
+
color: "rgba(255, 255, 0, 0.3)",
|
|
81636
|
+
// 黄色半透明填充
|
|
81637
|
+
opacity: 0.3
|
|
81638
|
+
},
|
|
81639
|
+
stroke: {
|
|
81640
|
+
color: "#ffff00",
|
|
81641
|
+
// 黄色描边
|
|
81642
|
+
width: 3,
|
|
81643
|
+
lineDash: [5, 5]
|
|
81644
|
+
// 虚线
|
|
81645
|
+
},
|
|
81646
|
+
circle: {
|
|
81647
|
+
radius: 8,
|
|
81648
|
+
fill: {
|
|
81649
|
+
color: "rgba(255, 255, 0, 0.6)",
|
|
81650
|
+
opacity: 0.6
|
|
81651
|
+
},
|
|
81652
|
+
stroke: {
|
|
81653
|
+
color: "#ffff00",
|
|
81654
|
+
width: 3
|
|
81655
|
+
}
|
|
81656
|
+
},
|
|
81657
|
+
text: {
|
|
81658
|
+
font: "12px Arial",
|
|
81659
|
+
fill: {
|
|
81660
|
+
color: "#000000"
|
|
81661
|
+
},
|
|
81662
|
+
stroke: {
|
|
81663
|
+
color: "#ffffff",
|
|
81664
|
+
width: 2
|
|
81665
|
+
},
|
|
81666
|
+
offsetY: -15,
|
|
81667
|
+
scale: 1.2
|
|
81668
|
+
}
|
|
81669
|
+
};
|
|
81670
|
+
class FeatureHighlightManager {
|
|
81671
|
+
constructor(map2, styleConfig) {
|
|
81672
|
+
__publicField(this, "map");
|
|
81673
|
+
__publicField(this, "highlightLayer");
|
|
81674
|
+
__publicField(this, "highlightedFeatures", /* @__PURE__ */ new Map());
|
|
81675
|
+
__publicField(this, "styleConfig");
|
|
81676
|
+
__publicField(this, "featureIdCounter", 0);
|
|
81677
|
+
this.map = map2;
|
|
81678
|
+
this.styleConfig = { ...DEFAULT_HIGHLIGHT_STYLE, ...styleConfig };
|
|
81679
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81680
|
+
this.highlightLayer = new VectorLayer$3({
|
|
81681
|
+
source: new VectorSource$2(),
|
|
81682
|
+
style: this.createHighlightStyle.bind(this),
|
|
81683
|
+
zIndex: 9999
|
|
81684
|
+
// 确保高亮图层在最上层
|
|
81685
|
+
});
|
|
81686
|
+
this.map.addLayer(this.highlightLayer);
|
|
81687
|
+
}
|
|
81688
|
+
/**
|
|
81689
|
+
* 确保 highlightedFeatures 是有效的 Map 实例
|
|
81690
|
+
*/
|
|
81691
|
+
ensureHighlightedFeaturesMap() {
|
|
81692
|
+
if (!this.highlightedFeatures || !(this.highlightedFeatures instanceof Map)) {
|
|
81693
|
+
console.warn("FeatureHighlightManager: highlightedFeatures corrupted, reinitializing...");
|
|
81694
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81695
|
+
}
|
|
81696
|
+
}
|
|
81697
|
+
/**
|
|
81698
|
+
* 创建高亮样式
|
|
81699
|
+
*/
|
|
81700
|
+
createHighlightStyle(feature2) {
|
|
81701
|
+
var _a3, _b3, _c2, _d, _e2, _f;
|
|
81702
|
+
const geometry2 = feature2.getGeometry();
|
|
81703
|
+
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
81704
|
+
const styleOptions = {};
|
|
81705
|
+
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
81706
|
+
if (this.styleConfig.circle) {
|
|
81707
|
+
styleOptions.image = new Circle$8({
|
|
81708
|
+
radius: this.styleConfig.circle.radius || 8,
|
|
81709
|
+
fill: new Fill$2({
|
|
81710
|
+
color: ((_a3 = this.styleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
81711
|
+
}),
|
|
81712
|
+
stroke: new Stroke$2({
|
|
81713
|
+
color: ((_b3 = this.styleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
81714
|
+
width: ((_c2 = this.styleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
81715
|
+
})
|
|
81716
|
+
});
|
|
81717
|
+
}
|
|
81718
|
+
} else {
|
|
81719
|
+
if (this.styleConfig.fill) {
|
|
81720
|
+
styleOptions.fill = new Fill$2({
|
|
81721
|
+
color: this.styleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
81722
|
+
});
|
|
81723
|
+
}
|
|
81724
|
+
if (this.styleConfig.stroke) {
|
|
81725
|
+
styleOptions.stroke = new Stroke$2({
|
|
81726
|
+
color: this.styleConfig.stroke.color || "#ffff00",
|
|
81727
|
+
width: this.styleConfig.stroke.width || 3,
|
|
81728
|
+
lineDash: this.styleConfig.stroke.lineDash || [5, 5]
|
|
81729
|
+
});
|
|
81730
|
+
}
|
|
81731
|
+
}
|
|
81732
|
+
if (this.styleConfig.text) {
|
|
81733
|
+
const properties = feature2.getProperties();
|
|
81734
|
+
const labelText = properties.name || properties.label || "高亮要素";
|
|
81735
|
+
styleOptions.text = new Text$5({
|
|
81736
|
+
text: labelText,
|
|
81737
|
+
font: this.styleConfig.text.font || "12px Arial",
|
|
81738
|
+
fill: new Fill$2({
|
|
81739
|
+
color: ((_d = this.styleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
81740
|
+
}),
|
|
81741
|
+
stroke: new Stroke$2({
|
|
81742
|
+
color: ((_e2 = this.styleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
81743
|
+
width: ((_f = this.styleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
81744
|
+
}),
|
|
81745
|
+
offsetY: this.styleConfig.text.offsetY || -15,
|
|
81746
|
+
scale: this.styleConfig.text.scale || 1.2
|
|
81747
|
+
});
|
|
81748
|
+
}
|
|
81749
|
+
return new Style$3(styleOptions);
|
|
81750
|
+
}
|
|
81751
|
+
/**
|
|
81752
|
+
* 根据图层配置创建自定义高亮样式
|
|
81753
|
+
*/
|
|
81754
|
+
createCustomHighlightStyle(feature2, customStyleConfig) {
|
|
81755
|
+
var _a3, _b3, _c2, _d, _e2, _f, _g, _h, _i2, _j;
|
|
81756
|
+
const geometry2 = feature2.getGeometry();
|
|
81757
|
+
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
81758
|
+
const styleOptions = {};
|
|
81759
|
+
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
81760
|
+
if (customStyleConfig == null ? void 0 : customStyleConfig.circle) {
|
|
81761
|
+
styleOptions.image = new Circle$8({
|
|
81762
|
+
radius: customStyleConfig.circle.radius || 8,
|
|
81763
|
+
fill: new Fill$2({
|
|
81764
|
+
color: ((_a3 = customStyleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
81765
|
+
}),
|
|
81766
|
+
stroke: new Stroke$2({
|
|
81767
|
+
color: ((_b3 = customStyleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
81768
|
+
width: ((_c2 = customStyleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
81769
|
+
})
|
|
81770
|
+
});
|
|
81771
|
+
}
|
|
81772
|
+
} else {
|
|
81773
|
+
if ((customStyleConfig == null ? void 0 : customStyleConfig.fill) || (customStyleConfig == null ? void 0 : customStyleConfig.fillColor)) {
|
|
81774
|
+
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)";
|
|
81775
|
+
styleOptions.fill = new Fill$2({
|
|
81776
|
+
color: color2
|
|
81777
|
+
});
|
|
81778
|
+
}
|
|
81779
|
+
if ((customStyleConfig == null ? void 0 : customStyleConfig.stroke) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeColor)) {
|
|
81780
|
+
const color2 = ((_e2 = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _e2.color) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeColor) || "#ffff00";
|
|
81781
|
+
const width = ((_f = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _f.width) || (customStyleConfig == null ? void 0 : customStyleConfig.strokeWidth) || 3;
|
|
81782
|
+
const lineDash = ((_g = customStyleConfig == null ? void 0 : customStyleConfig.stroke) == null ? void 0 : _g.lineDash) || (customStyleConfig == null ? void 0 : customStyleConfig.lineDash) || [5, 5];
|
|
81783
|
+
styleOptions.stroke = new Stroke$2({
|
|
81784
|
+
color: color2,
|
|
81785
|
+
width,
|
|
81786
|
+
lineDash
|
|
81787
|
+
});
|
|
81788
|
+
}
|
|
81789
|
+
}
|
|
81790
|
+
if (customStyleConfig == null ? void 0 : customStyleConfig.text) {
|
|
81791
|
+
const properties = feature2.getProperties();
|
|
81792
|
+
const labelText = properties.name || properties.label || "高亮要素";
|
|
81793
|
+
styleOptions.text = new Text$5({
|
|
81794
|
+
text: labelText,
|
|
81795
|
+
font: customStyleConfig.text.font || "12px Arial",
|
|
81796
|
+
fill: new Fill$2({
|
|
81797
|
+
color: ((_h = customStyleConfig.text.fill) == null ? void 0 : _h.color) || "#000000"
|
|
81798
|
+
}),
|
|
81799
|
+
stroke: new Stroke$2({
|
|
81800
|
+
color: ((_i2 = customStyleConfig.text.stroke) == null ? void 0 : _i2.color) || "#ffffff",
|
|
81801
|
+
width: ((_j = customStyleConfig.text.stroke) == null ? void 0 : _j.width) || 2
|
|
81802
|
+
}),
|
|
81803
|
+
offsetX: customStyleConfig.text.offsetX || 0,
|
|
81804
|
+
offsetY: customStyleConfig.text.offsetY || -15,
|
|
81805
|
+
scale: customStyleConfig.text.scale || 1.2
|
|
81806
|
+
});
|
|
81807
|
+
}
|
|
81808
|
+
return new Style$3(styleOptions);
|
|
81809
|
+
}
|
|
81810
|
+
/**
|
|
81811
|
+
* 高亮要素
|
|
81812
|
+
*/
|
|
81813
|
+
highlightFeature(feature2, layerId, layerHighlightConfig) {
|
|
81814
|
+
var _a3;
|
|
81815
|
+
this.ensureHighlightedFeaturesMap();
|
|
81816
|
+
const existingId = this.isFeatureHighlighted(feature2);
|
|
81817
|
+
if (existingId) {
|
|
81818
|
+
return existingId;
|
|
81819
|
+
}
|
|
81820
|
+
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.clearOthersOnHighlight) {
|
|
81821
|
+
this.clearAllHighlights();
|
|
81822
|
+
}
|
|
81823
|
+
const featureId2 = `highlight_${++this.featureIdCounter}_${Date.now()}`;
|
|
81824
|
+
const highlightFeature = feature2.clone();
|
|
81825
|
+
highlightFeature.setId(featureId2);
|
|
81826
|
+
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.style) {
|
|
81827
|
+
const customStyle = this.createCustomHighlightStyle(highlightFeature, layerHighlightConfig.style);
|
|
81828
|
+
highlightFeature.setStyle(customStyle);
|
|
81829
|
+
}
|
|
81830
|
+
const originalStyle = feature2.getStyle();
|
|
81831
|
+
const highlightInfo = {
|
|
81832
|
+
originalFeature: feature2,
|
|
81833
|
+
highlightFeature,
|
|
81834
|
+
originalStyle,
|
|
81835
|
+
layerId
|
|
81836
|
+
};
|
|
81837
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.addFeature(highlightFeature);
|
|
81838
|
+
this.highlightedFeatures.set(featureId2, highlightInfo);
|
|
81839
|
+
return featureId2;
|
|
81840
|
+
}
|
|
81841
|
+
/**
|
|
81842
|
+
* 取消高亮要素
|
|
81843
|
+
*/
|
|
81844
|
+
unhighlightFeature(featureId2) {
|
|
81845
|
+
var _a3;
|
|
81846
|
+
this.ensureHighlightedFeaturesMap();
|
|
81847
|
+
const highlightInfo = this.highlightedFeatures.get(featureId2);
|
|
81848
|
+
if (!highlightInfo) {
|
|
81849
|
+
return false;
|
|
81850
|
+
}
|
|
81851
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.removeFeature(highlightInfo.highlightFeature);
|
|
81852
|
+
this.highlightedFeatures.delete(featureId2);
|
|
81853
|
+
return true;
|
|
81854
|
+
}
|
|
81855
|
+
/**
|
|
81856
|
+
* 清除所有高亮
|
|
81857
|
+
*/
|
|
81858
|
+
clearAllHighlights() {
|
|
81859
|
+
var _a3;
|
|
81860
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.clear();
|
|
81861
|
+
this.ensureHighlightedFeaturesMap();
|
|
81862
|
+
this.highlightedFeatures.clear();
|
|
81863
|
+
}
|
|
81864
|
+
/**
|
|
81865
|
+
* 获取当前高亮的要素数量
|
|
81866
|
+
*/
|
|
81867
|
+
getHighlightedCount() {
|
|
81868
|
+
this.ensureHighlightedFeaturesMap();
|
|
81869
|
+
return this.highlightedFeatures.size;
|
|
81870
|
+
}
|
|
81871
|
+
/**
|
|
81872
|
+
* 获取所有高亮要素的ID
|
|
81873
|
+
*/
|
|
81874
|
+
getHighlightedFeatureIds() {
|
|
81875
|
+
this.ensureHighlightedFeaturesMap();
|
|
81876
|
+
return Array.from(this.highlightedFeatures.keys());
|
|
81877
|
+
}
|
|
81878
|
+
/**
|
|
81879
|
+
* 检查要素是否已高亮
|
|
81880
|
+
*/
|
|
81881
|
+
isFeatureHighlighted(feature2) {
|
|
81882
|
+
this.ensureHighlightedFeaturesMap();
|
|
81883
|
+
if (!this.highlightedFeatures || typeof this.highlightedFeatures[Symbol.iterator] !== "function") {
|
|
81884
|
+
console.warn("FeatureHighlightManager: highlightedFeatures lost iterator, reinitializing...");
|
|
81885
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81886
|
+
return null;
|
|
81887
|
+
}
|
|
81888
|
+
try {
|
|
81889
|
+
const entries = Array.from(this.highlightedFeatures.entries());
|
|
81890
|
+
for (const [id2, info] of entries) {
|
|
81891
|
+
if (info && info.originalFeature === feature2) {
|
|
81892
|
+
return id2;
|
|
81893
|
+
}
|
|
81894
|
+
}
|
|
81895
|
+
} catch (error2) {
|
|
81896
|
+
console.error("Error iterating highlightedFeatures:", error2);
|
|
81897
|
+
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
81898
|
+
return null;
|
|
81899
|
+
}
|
|
81900
|
+
return null;
|
|
81901
|
+
}
|
|
81902
|
+
/**
|
|
81903
|
+
* 更新高亮样式配置
|
|
81904
|
+
*/
|
|
81905
|
+
updateStyleConfig(newConfig) {
|
|
81906
|
+
var _a3;
|
|
81907
|
+
this.styleConfig = { ...this.styleConfig, ...newConfig };
|
|
81908
|
+
this.ensureHighlightedFeaturesMap();
|
|
81909
|
+
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.getFeatures().forEach((feature2) => {
|
|
81910
|
+
feature2.changed();
|
|
81911
|
+
});
|
|
81912
|
+
}
|
|
81913
|
+
/**
|
|
81914
|
+
* 获取当前样式配置
|
|
81915
|
+
*/
|
|
81916
|
+
getStyleConfig() {
|
|
81917
|
+
return { ...this.styleConfig };
|
|
81918
|
+
}
|
|
81919
|
+
/**
|
|
81920
|
+
* 销毁管理器
|
|
81921
|
+
*/
|
|
81922
|
+
destroy() {
|
|
81923
|
+
this.clearAllHighlights();
|
|
81924
|
+
this.map.removeLayer(this.highlightLayer);
|
|
81925
|
+
}
|
|
81926
|
+
}
|
|
81633
81927
|
class GeoJSONLocationTool {
|
|
81634
|
-
constructor(map2) {
|
|
81928
|
+
constructor(map2, featureHighlightManager) {
|
|
81635
81929
|
__publicField(this, "map");
|
|
81636
81930
|
__publicField(this, "format");
|
|
81931
|
+
__publicField(this, "featureHighlightManager");
|
|
81637
81932
|
this.map = map2;
|
|
81638
81933
|
this.format = new GeoJSON$4();
|
|
81934
|
+
this.featureHighlightManager = featureHighlightManager;
|
|
81639
81935
|
}
|
|
81640
81936
|
/**
|
|
81641
81937
|
* 定位到 GeoJSON 数据
|
|
@@ -81707,6 +82003,18 @@ ${this.attributes_.map(
|
|
|
81707
82003
|
duration: fitOptions.duration,
|
|
81708
82004
|
minZoom: fitOptions.minZoom
|
|
81709
82005
|
});
|
|
82006
|
+
if ((fitOptions.highlight || fitOptions.style) && this.featureHighlightManager) {
|
|
82007
|
+
if (fitOptions.clearPrevious !== false) {
|
|
82008
|
+
this.featureHighlightManager.clearAllHighlights();
|
|
82009
|
+
}
|
|
82010
|
+
const highlightConfig = {
|
|
82011
|
+
style: fitOptions.style,
|
|
82012
|
+
clearOthersOnHighlight: false
|
|
82013
|
+
};
|
|
82014
|
+
features2.forEach((feature2) => {
|
|
82015
|
+
this.featureHighlightManager.highlightFeature(feature2, "location_highlight", highlightConfig);
|
|
82016
|
+
});
|
|
82017
|
+
}
|
|
81710
82018
|
if (fitOptions.showMessage) {
|
|
81711
82019
|
}
|
|
81712
82020
|
return true;
|
|
@@ -81755,6 +82063,16 @@ ${this.attributes_.map(
|
|
|
81755
82063
|
zoom: targetZoom,
|
|
81756
82064
|
duration: (options == null ? void 0 : options.duration) || 1e3
|
|
81757
82065
|
});
|
|
82066
|
+
if (((options == null ? void 0 : options.highlight) || (options == null ? void 0 : options.style)) && this.featureHighlightManager) {
|
|
82067
|
+
if (options.clearPrevious !== false) {
|
|
82068
|
+
this.featureHighlightManager.clearAllHighlights();
|
|
82069
|
+
}
|
|
82070
|
+
const highlightConfig = {
|
|
82071
|
+
style: options.style,
|
|
82072
|
+
clearOthersOnHighlight: false
|
|
82073
|
+
};
|
|
82074
|
+
this.featureHighlightManager.highlightFeature(feature2, "location_center_highlight", highlightConfig);
|
|
82075
|
+
}
|
|
81758
82076
|
if ((options == null ? void 0 : options.showMessage) !== false) {
|
|
81759
82077
|
}
|
|
81760
82078
|
return true;
|
|
@@ -83385,7 +83703,8 @@ ${this.attributes_.map(
|
|
|
83385
83703
|
rotation: config.rotation,
|
|
83386
83704
|
backgroundFill: this.createFill(config.backgroundFill),
|
|
83387
83705
|
backgroundStroke: this.createStroke(config.backgroundStroke),
|
|
83388
|
-
padding: config.padding
|
|
83706
|
+
padding: config.padding,
|
|
83707
|
+
overflow: config.overflow
|
|
83389
83708
|
});
|
|
83390
83709
|
return textStyle;
|
|
83391
83710
|
}
|
|
@@ -83693,8 +84012,12 @@ ${this.attributes_.map(
|
|
|
83693
84012
|
var _a3;
|
|
83694
84013
|
const geometryType = StyleFactory.getFeatureGeometryType(feature2);
|
|
83695
84014
|
const defaultConfig = this.getDefaultStyle(geometryType);
|
|
83696
|
-
const
|
|
83697
|
-
|
|
84015
|
+
const layerConfig = styleConfig == null ? void 0 : styleConfig[geometryType];
|
|
84016
|
+
let finalConfig = this.mergeStyleConfig(defaultConfig, layerConfig);
|
|
84017
|
+
const featureStyle = feature2.get("style");
|
|
84018
|
+
if (featureStyle) {
|
|
84019
|
+
finalConfig = this.mergeStyleConfig(finalConfig, featureStyle);
|
|
84020
|
+
}
|
|
83698
84021
|
if (finalConfig && finalConfig.text) {
|
|
83699
84022
|
const textCfg = { ...finalConfig.text };
|
|
83700
84023
|
let content2 = textCfg.text;
|
|
@@ -83847,6 +84170,20 @@ ${this.attributes_.map(
|
|
|
83847
84170
|
* 创建样式函数
|
|
83848
84171
|
*/
|
|
83849
84172
|
createStyleFunction() {
|
|
84173
|
+
if (this.config.styleFunction) {
|
|
84174
|
+
const userFn = this.config.styleFunction;
|
|
84175
|
+
return (feature2, resolution) => {
|
|
84176
|
+
const result = userFn(feature2, resolution || 0);
|
|
84177
|
+
if (result instanceof Style$3 || Array.isArray(result) && result[0] instanceof Style$3) {
|
|
84178
|
+
return result;
|
|
84179
|
+
}
|
|
84180
|
+
if (result && typeof result === "object") {
|
|
84181
|
+
const geometryType = StyleFactory.getFeatureGeometryType(feature2);
|
|
84182
|
+
return StyleFactory.createStyleByGeometryType(geometryType, result);
|
|
84183
|
+
}
|
|
84184
|
+
return [];
|
|
84185
|
+
};
|
|
84186
|
+
}
|
|
83850
84187
|
this.parseStyleConfig();
|
|
83851
84188
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
83852
84189
|
}
|
|
@@ -86136,6 +86473,9 @@ ${this.attributes_.map(
|
|
|
86136
86473
|
* 创建样式函数
|
|
86137
86474
|
*/
|
|
86138
86475
|
createStyleFunction() {
|
|
86476
|
+
if (this.config.styleFunction) {
|
|
86477
|
+
return this.config.styleFunction;
|
|
86478
|
+
}
|
|
86139
86479
|
this.parseStyleConfig();
|
|
86140
86480
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
86141
86481
|
}
|
|
@@ -466759,6 +467099,9 @@ ${this.attributes_.map(
|
|
|
466759
467099
|
* 创建样式函数
|
|
466760
467100
|
*/
|
|
466761
467101
|
createStyleFunction() {
|
|
467102
|
+
if (this.config.styleFunction) {
|
|
467103
|
+
return this.config.styleFunction;
|
|
467104
|
+
}
|
|
466762
467105
|
if (this.styleConfig) {
|
|
466763
467106
|
return styleManager.createStyleFunction(this.styleConfig);
|
|
466764
467107
|
}
|
|
@@ -468350,298 +468693,8 @@ ${this.attributes_.map(
|
|
|
468350
468693
|
this.layerConfigs.clear();
|
|
468351
468694
|
}
|
|
468352
468695
|
}
|
|
468353
|
-
const
|
|
468354
|
-
|
|
468355
|
-
color: "rgba(255, 255, 0, 0.3)",
|
|
468356
|
-
// 黄色半透明填充
|
|
468357
|
-
opacity: 0.3
|
|
468358
|
-
},
|
|
468359
|
-
stroke: {
|
|
468360
|
-
color: "#ffff00",
|
|
468361
|
-
// 黄色描边
|
|
468362
|
-
width: 3,
|
|
468363
|
-
lineDash: [5, 5]
|
|
468364
|
-
// 虚线
|
|
468365
|
-
},
|
|
468366
|
-
circle: {
|
|
468367
|
-
radius: 8,
|
|
468368
|
-
fill: {
|
|
468369
|
-
color: "rgba(255, 255, 0, 0.6)",
|
|
468370
|
-
opacity: 0.6
|
|
468371
|
-
},
|
|
468372
|
-
stroke: {
|
|
468373
|
-
color: "#ffff00",
|
|
468374
|
-
width: 3
|
|
468375
|
-
}
|
|
468376
|
-
},
|
|
468377
|
-
text: {
|
|
468378
|
-
font: "12px Arial",
|
|
468379
|
-
fill: {
|
|
468380
|
-
color: "#000000"
|
|
468381
|
-
},
|
|
468382
|
-
stroke: {
|
|
468383
|
-
color: "#ffffff",
|
|
468384
|
-
width: 2
|
|
468385
|
-
},
|
|
468386
|
-
offsetY: -15,
|
|
468387
|
-
scale: 1.2
|
|
468388
|
-
}
|
|
468389
|
-
};
|
|
468390
|
-
class FeatureHighlightManager {
|
|
468391
|
-
constructor(map2, styleConfig) {
|
|
468392
|
-
__publicField(this, "map");
|
|
468393
|
-
__publicField(this, "highlightLayer");
|
|
468394
|
-
__publicField(this, "highlightedFeatures", /* @__PURE__ */ new Map());
|
|
468395
|
-
__publicField(this, "styleConfig");
|
|
468396
|
-
__publicField(this, "featureIdCounter", 0);
|
|
468397
|
-
this.map = map2;
|
|
468398
|
-
this.styleConfig = { ...DEFAULT_HIGHLIGHT_STYLE, ...styleConfig };
|
|
468399
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
468400
|
-
this.highlightLayer = new VectorLayer$3({
|
|
468401
|
-
source: new VectorSource$2(),
|
|
468402
|
-
style: this.createHighlightStyle.bind(this),
|
|
468403
|
-
zIndex: 9999
|
|
468404
|
-
// 确保高亮图层在最上层
|
|
468405
|
-
});
|
|
468406
|
-
this.map.addLayer(this.highlightLayer);
|
|
468407
|
-
}
|
|
468408
|
-
/**
|
|
468409
|
-
* 确保 highlightedFeatures 是有效的 Map 实例
|
|
468410
|
-
*/
|
|
468411
|
-
ensureHighlightedFeaturesMap() {
|
|
468412
|
-
if (!this.highlightedFeatures || !(this.highlightedFeatures instanceof Map)) {
|
|
468413
|
-
console.warn("FeatureHighlightManager: highlightedFeatures corrupted, reinitializing...");
|
|
468414
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
468415
|
-
}
|
|
468416
|
-
}
|
|
468417
|
-
/**
|
|
468418
|
-
* 创建高亮样式
|
|
468419
|
-
*/
|
|
468420
|
-
createHighlightStyle(feature2) {
|
|
468421
|
-
var _a3, _b3, _c2, _d, _e2, _f;
|
|
468422
|
-
const geometry2 = feature2.getGeometry();
|
|
468423
|
-
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
468424
|
-
const styleOptions = {};
|
|
468425
|
-
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
468426
|
-
if (this.styleConfig.circle) {
|
|
468427
|
-
styleOptions.image = new Circle$8({
|
|
468428
|
-
radius: this.styleConfig.circle.radius || 8,
|
|
468429
|
-
fill: new Fill$2({
|
|
468430
|
-
color: ((_a3 = this.styleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
468431
|
-
}),
|
|
468432
|
-
stroke: new Stroke$2({
|
|
468433
|
-
color: ((_b3 = this.styleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
468434
|
-
width: ((_c2 = this.styleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
468435
|
-
})
|
|
468436
|
-
});
|
|
468437
|
-
}
|
|
468438
|
-
} else {
|
|
468439
|
-
if (this.styleConfig.fill) {
|
|
468440
|
-
styleOptions.fill = new Fill$2({
|
|
468441
|
-
color: this.styleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
468442
|
-
});
|
|
468443
|
-
}
|
|
468444
|
-
if (this.styleConfig.stroke) {
|
|
468445
|
-
styleOptions.stroke = new Stroke$2({
|
|
468446
|
-
color: this.styleConfig.stroke.color || "#ffff00",
|
|
468447
|
-
width: this.styleConfig.stroke.width || 3,
|
|
468448
|
-
lineDash: this.styleConfig.stroke.lineDash || [5, 5]
|
|
468449
|
-
});
|
|
468450
|
-
}
|
|
468451
|
-
}
|
|
468452
|
-
if (this.styleConfig.text) {
|
|
468453
|
-
const properties = feature2.getProperties();
|
|
468454
|
-
const labelText = properties.name || properties.label || "高亮要素";
|
|
468455
|
-
styleOptions.text = new Text$5({
|
|
468456
|
-
text: labelText,
|
|
468457
|
-
font: this.styleConfig.text.font || "12px Arial",
|
|
468458
|
-
fill: new Fill$2({
|
|
468459
|
-
color: ((_d = this.styleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
468460
|
-
}),
|
|
468461
|
-
stroke: new Stroke$2({
|
|
468462
|
-
color: ((_e2 = this.styleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
468463
|
-
width: ((_f = this.styleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
468464
|
-
}),
|
|
468465
|
-
offsetY: this.styleConfig.text.offsetY || -15,
|
|
468466
|
-
scale: this.styleConfig.text.scale || 1.2
|
|
468467
|
-
});
|
|
468468
|
-
}
|
|
468469
|
-
return new Style$3(styleOptions);
|
|
468470
|
-
}
|
|
468471
|
-
/**
|
|
468472
|
-
* 根据图层配置创建自定义高亮样式
|
|
468473
|
-
*/
|
|
468474
|
-
createCustomHighlightStyle(feature2, customStyleConfig) {
|
|
468475
|
-
var _a3, _b3, _c2, _d, _e2, _f;
|
|
468476
|
-
const geometry2 = feature2.getGeometry();
|
|
468477
|
-
const geometryType = geometry2 == null ? void 0 : geometry2.getType();
|
|
468478
|
-
const styleOptions = {};
|
|
468479
|
-
if (geometryType === "Point" || geometryType === "MultiPoint") {
|
|
468480
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.circle) {
|
|
468481
|
-
styleOptions.image = new Circle$8({
|
|
468482
|
-
radius: customStyleConfig.circle.radius || 8,
|
|
468483
|
-
fill: new Fill$2({
|
|
468484
|
-
color: ((_a3 = customStyleConfig.circle.fill) == null ? void 0 : _a3.color) || "rgba(255, 255, 0, 0.6)"
|
|
468485
|
-
}),
|
|
468486
|
-
stroke: new Stroke$2({
|
|
468487
|
-
color: ((_b3 = customStyleConfig.circle.stroke) == null ? void 0 : _b3.color) || "#ffff00",
|
|
468488
|
-
width: ((_c2 = customStyleConfig.circle.stroke) == null ? void 0 : _c2.width) || 3
|
|
468489
|
-
})
|
|
468490
|
-
});
|
|
468491
|
-
}
|
|
468492
|
-
} else {
|
|
468493
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.fill) {
|
|
468494
|
-
styleOptions.fill = new Fill$2({
|
|
468495
|
-
color: customStyleConfig.fill.color || "rgba(255, 255, 0, 0.3)"
|
|
468496
|
-
});
|
|
468497
|
-
}
|
|
468498
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.stroke) {
|
|
468499
|
-
styleOptions.stroke = new Stroke$2({
|
|
468500
|
-
color: customStyleConfig.stroke.color || "#ffff00",
|
|
468501
|
-
width: customStyleConfig.stroke.width || 3,
|
|
468502
|
-
lineDash: customStyleConfig.stroke.lineDash || [5, 5]
|
|
468503
|
-
});
|
|
468504
|
-
}
|
|
468505
|
-
}
|
|
468506
|
-
if (customStyleConfig == null ? void 0 : customStyleConfig.text) {
|
|
468507
|
-
const properties = feature2.getProperties();
|
|
468508
|
-
const labelText = properties.name || properties.label || "高亮要素";
|
|
468509
|
-
styleOptions.text = new Text$5({
|
|
468510
|
-
text: labelText,
|
|
468511
|
-
font: customStyleConfig.text.font || "12px Arial",
|
|
468512
|
-
fill: new Fill$2({
|
|
468513
|
-
color: ((_d = customStyleConfig.text.fill) == null ? void 0 : _d.color) || "#000000"
|
|
468514
|
-
}),
|
|
468515
|
-
stroke: new Stroke$2({
|
|
468516
|
-
color: ((_e2 = customStyleConfig.text.stroke) == null ? void 0 : _e2.color) || "#ffffff",
|
|
468517
|
-
width: ((_f = customStyleConfig.text.stroke) == null ? void 0 : _f.width) || 2
|
|
468518
|
-
}),
|
|
468519
|
-
offsetX: customStyleConfig.text.offsetX || 0,
|
|
468520
|
-
offsetY: customStyleConfig.text.offsetY || -15,
|
|
468521
|
-
scale: customStyleConfig.text.scale || 1.2
|
|
468522
|
-
});
|
|
468523
|
-
}
|
|
468524
|
-
return new Style$3(styleOptions);
|
|
468525
|
-
}
|
|
468526
|
-
/**
|
|
468527
|
-
* 高亮要素
|
|
468528
|
-
*/
|
|
468529
|
-
highlightFeature(feature2, layerId, layerHighlightConfig) {
|
|
468530
|
-
var _a3;
|
|
468531
|
-
this.ensureHighlightedFeaturesMap();
|
|
468532
|
-
const existingId = this.isFeatureHighlighted(feature2);
|
|
468533
|
-
if (existingId) {
|
|
468534
|
-
return existingId;
|
|
468535
|
-
}
|
|
468536
|
-
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.clearOthersOnHighlight) {
|
|
468537
|
-
this.clearAllHighlights();
|
|
468538
|
-
}
|
|
468539
|
-
const featureId2 = `highlight_${++this.featureIdCounter}_${Date.now()}`;
|
|
468540
|
-
const highlightFeature = feature2.clone();
|
|
468541
|
-
highlightFeature.setId(featureId2);
|
|
468542
|
-
if (layerHighlightConfig == null ? void 0 : layerHighlightConfig.style) {
|
|
468543
|
-
const customStyle = this.createCustomHighlightStyle(highlightFeature, layerHighlightConfig.style);
|
|
468544
|
-
highlightFeature.setStyle(customStyle);
|
|
468545
|
-
}
|
|
468546
|
-
const originalStyle = feature2.getStyle();
|
|
468547
|
-
const highlightInfo = {
|
|
468548
|
-
originalFeature: feature2,
|
|
468549
|
-
highlightFeature,
|
|
468550
|
-
originalStyle,
|
|
468551
|
-
layerId
|
|
468552
|
-
};
|
|
468553
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.addFeature(highlightFeature);
|
|
468554
|
-
this.highlightedFeatures.set(featureId2, highlightInfo);
|
|
468555
|
-
return featureId2;
|
|
468556
|
-
}
|
|
468557
|
-
/**
|
|
468558
|
-
* 取消高亮要素
|
|
468559
|
-
*/
|
|
468560
|
-
unhighlightFeature(featureId2) {
|
|
468561
|
-
var _a3;
|
|
468562
|
-
this.ensureHighlightedFeaturesMap();
|
|
468563
|
-
const highlightInfo = this.highlightedFeatures.get(featureId2);
|
|
468564
|
-
if (!highlightInfo) {
|
|
468565
|
-
return false;
|
|
468566
|
-
}
|
|
468567
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.removeFeature(highlightInfo.highlightFeature);
|
|
468568
|
-
this.highlightedFeatures.delete(featureId2);
|
|
468569
|
-
return true;
|
|
468570
|
-
}
|
|
468571
|
-
/**
|
|
468572
|
-
* 清除所有高亮
|
|
468573
|
-
*/
|
|
468574
|
-
clearAllHighlights() {
|
|
468575
|
-
var _a3;
|
|
468576
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.clear();
|
|
468577
|
-
this.ensureHighlightedFeaturesMap();
|
|
468578
|
-
this.highlightedFeatures.clear();
|
|
468579
|
-
}
|
|
468580
|
-
/**
|
|
468581
|
-
* 获取当前高亮的要素数量
|
|
468582
|
-
*/
|
|
468583
|
-
getHighlightedCount() {
|
|
468584
|
-
this.ensureHighlightedFeaturesMap();
|
|
468585
|
-
return this.highlightedFeatures.size;
|
|
468586
|
-
}
|
|
468587
|
-
/**
|
|
468588
|
-
* 获取所有高亮要素的ID
|
|
468589
|
-
*/
|
|
468590
|
-
getHighlightedFeatureIds() {
|
|
468591
|
-
this.ensureHighlightedFeaturesMap();
|
|
468592
|
-
return Array.from(this.highlightedFeatures.keys());
|
|
468593
|
-
}
|
|
468594
|
-
/**
|
|
468595
|
-
* 检查要素是否已高亮
|
|
468596
|
-
*/
|
|
468597
|
-
isFeatureHighlighted(feature2) {
|
|
468598
|
-
this.ensureHighlightedFeaturesMap();
|
|
468599
|
-
if (!this.highlightedFeatures || typeof this.highlightedFeatures[Symbol.iterator] !== "function") {
|
|
468600
|
-
console.warn("FeatureHighlightManager: highlightedFeatures lost iterator, reinitializing...");
|
|
468601
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
468602
|
-
return null;
|
|
468603
|
-
}
|
|
468604
|
-
try {
|
|
468605
|
-
const entries = Array.from(this.highlightedFeatures.entries());
|
|
468606
|
-
for (const [id2, info] of entries) {
|
|
468607
|
-
if (info && info.originalFeature === feature2) {
|
|
468608
|
-
return id2;
|
|
468609
|
-
}
|
|
468610
|
-
}
|
|
468611
|
-
} catch (error2) {
|
|
468612
|
-
console.error("Error iterating highlightedFeatures:", error2);
|
|
468613
|
-
this.highlightedFeatures = /* @__PURE__ */ new Map();
|
|
468614
|
-
return null;
|
|
468615
|
-
}
|
|
468616
|
-
return null;
|
|
468617
|
-
}
|
|
468618
|
-
/**
|
|
468619
|
-
* 更新高亮样式配置
|
|
468620
|
-
*/
|
|
468621
|
-
updateStyleConfig(newConfig) {
|
|
468622
|
-
var _a3;
|
|
468623
|
-
this.styleConfig = { ...this.styleConfig, ...newConfig };
|
|
468624
|
-
this.ensureHighlightedFeaturesMap();
|
|
468625
|
-
(_a3 = this.highlightLayer.getSource()) == null ? void 0 : _a3.getFeatures().forEach((feature2) => {
|
|
468626
|
-
feature2.changed();
|
|
468627
|
-
});
|
|
468628
|
-
}
|
|
468629
|
-
/**
|
|
468630
|
-
* 获取当前样式配置
|
|
468631
|
-
*/
|
|
468632
|
-
getStyleConfig() {
|
|
468633
|
-
return { ...this.styleConfig };
|
|
468634
|
-
}
|
|
468635
|
-
/**
|
|
468636
|
-
* 销毁管理器
|
|
468637
|
-
*/
|
|
468638
|
-
destroy() {
|
|
468639
|
-
this.clearAllHighlights();
|
|
468640
|
-
this.map.removeLayer(this.highlightLayer);
|
|
468641
|
-
}
|
|
468642
|
-
}
|
|
468643
|
-
const _hoisted_1$p = ["id"];
|
|
468644
|
-
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
468696
|
+
const _hoisted_1$q = ["id"];
|
|
468697
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
468645
468698
|
__name: "BasePopup",
|
|
468646
468699
|
props: {
|
|
468647
468700
|
config: {},
|
|
@@ -468759,7 +468812,7 @@ ${this.attributes_.map(
|
|
|
468759
468812
|
}, [
|
|
468760
468813
|
vue.createElementVNode("div", {
|
|
468761
468814
|
id: `popup-slot-${_ctx.id}`
|
|
468762
|
-
}, null, 8, _hoisted_1$
|
|
468815
|
+
}, null, 8, _hoisted_1$q),
|
|
468763
468816
|
vue.renderSlot(_ctx.$slots, "default", {
|
|
468764
468817
|
feature: _ctx.feature,
|
|
468765
468818
|
coordinate: _ctx.coordinate,
|
|
@@ -468775,13 +468828,13 @@ ${this.attributes_.map(
|
|
|
468775
468828
|
}
|
|
468776
468829
|
});
|
|
468777
468830
|
const BasePopup_vue_vue_type_style_index_0_lang = "";
|
|
468778
|
-
const _hoisted_1$
|
|
468779
|
-
const _hoisted_2$
|
|
468831
|
+
const _hoisted_1$p = { class: "html-popup-content" };
|
|
468832
|
+
const _hoisted_2$n = {
|
|
468780
468833
|
key: 0,
|
|
468781
468834
|
class: "html-popup-title"
|
|
468782
468835
|
};
|
|
468783
|
-
const _hoisted_3$
|
|
468784
|
-
const _sfc_main$
|
|
468836
|
+
const _hoisted_3$m = ["innerHTML"];
|
|
468837
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
468785
468838
|
__name: "HtmlPopup",
|
|
468786
468839
|
props: {
|
|
468787
468840
|
config: {},
|
|
@@ -468829,7 +468882,7 @@ ${this.attributes_.map(
|
|
|
468829
468882
|
return sanitizeHtml(content2);
|
|
468830
468883
|
});
|
|
468831
468884
|
return (_ctx, _cache) => {
|
|
468832
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
468885
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
468833
468886
|
config: _ctx.config,
|
|
468834
468887
|
coordinate: _ctx.coordinate,
|
|
468835
468888
|
feature: _ctx.feature,
|
|
@@ -468842,12 +468895,12 @@ ${this.attributes_.map(
|
|
|
468842
468895
|
default: vue.withCtx(() => {
|
|
468843
468896
|
var _a3;
|
|
468844
468897
|
return [
|
|
468845
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
468846
|
-
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
468898
|
+
vue.createElementVNode("div", _hoisted_1$p, [
|
|
468899
|
+
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
468847
468900
|
vue.createElementVNode("div", {
|
|
468848
468901
|
class: "html-popup-body",
|
|
468849
468902
|
innerHTML: resolveContent()
|
|
468850
|
-
}, null, 8, _hoisted_3$
|
|
468903
|
+
}, null, 8, _hoisted_3$m)
|
|
468851
468904
|
])
|
|
468852
468905
|
];
|
|
468853
468906
|
}),
|
|
@@ -468857,17 +468910,17 @@ ${this.attributes_.map(
|
|
|
468857
468910
|
}
|
|
468858
468911
|
});
|
|
468859
468912
|
const HtmlPopup_vue_vue_type_style_index_0_lang = "";
|
|
468860
|
-
const _hoisted_1$
|
|
468861
|
-
const _hoisted_2$
|
|
468913
|
+
const _hoisted_1$o = { class: "image-popup-content" };
|
|
468914
|
+
const _hoisted_2$m = {
|
|
468862
468915
|
key: 0,
|
|
468863
468916
|
class: "image-popup-title"
|
|
468864
468917
|
};
|
|
468865
|
-
const _hoisted_3$
|
|
468918
|
+
const _hoisted_3$l = {
|
|
468866
468919
|
key: 1,
|
|
468867
468920
|
class: "image-popup-description"
|
|
468868
468921
|
};
|
|
468869
|
-
const _hoisted_4$
|
|
468870
|
-
const _hoisted_5$
|
|
468922
|
+
const _hoisted_4$l = { class: "image-popup-main" };
|
|
468923
|
+
const _hoisted_5$l = { class: "image-container" };
|
|
468871
468924
|
const _hoisted_6$h = ["src", "alt"];
|
|
468872
468925
|
const _hoisted_7$f = {
|
|
468873
468926
|
key: 0,
|
|
@@ -468897,7 +468950,7 @@ ${this.attributes_.map(
|
|
|
468897
468950
|
};
|
|
468898
468951
|
const _hoisted_15$7 = { class: "fullscreen-container" };
|
|
468899
468952
|
const _hoisted_16$7 = ["src", "alt"];
|
|
468900
|
-
const _sfc_main$
|
|
468953
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
468901
468954
|
__name: "ImagePopup",
|
|
468902
468955
|
props: {
|
|
468903
468956
|
config: {},
|
|
@@ -469030,7 +469083,7 @@ ${this.attributes_.map(
|
|
|
469030
469083
|
document.removeEventListener("keydown", handleKeydown);
|
|
469031
469084
|
});
|
|
469032
469085
|
return (_ctx, _cache) => {
|
|
469033
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
469086
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
469034
469087
|
config: _ctx.config,
|
|
469035
469088
|
coordinate: _ctx.coordinate,
|
|
469036
469089
|
feature: _ctx.feature,
|
|
@@ -469041,11 +469094,11 @@ ${this.attributes_.map(
|
|
|
469041
469094
|
onHide: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("hide"))
|
|
469042
469095
|
}, {
|
|
469043
469096
|
default: vue.withCtx(() => [
|
|
469044
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
469045
|
-
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
469046
|
-
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
469047
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
469048
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
469097
|
+
vue.createElementVNode("div", _hoisted_1$o, [
|
|
469098
|
+
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
469099
|
+
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l, vue.toDisplayString(_ctx.config.description), 1)) : vue.createCommentVNode("", true),
|
|
469100
|
+
vue.createElementVNode("div", _hoisted_4$l, [
|
|
469101
|
+
vue.createElementVNode("div", _hoisted_5$l, [
|
|
469049
469102
|
vue.createElementVNode("img", {
|
|
469050
469103
|
src: currentImage.value,
|
|
469051
469104
|
alt: `图片 ${currentIndex.value + 1}`,
|
|
@@ -469152,20 +469205,20 @@ ${this.attributes_.map(
|
|
|
469152
469205
|
}
|
|
469153
469206
|
});
|
|
469154
469207
|
const ImagePopup_vue_vue_type_style_index_0_lang = "";
|
|
469155
|
-
const _hoisted_1$
|
|
469156
|
-
const _hoisted_2$
|
|
469208
|
+
const _hoisted_1$n = { class: "array-popup-content" };
|
|
469209
|
+
const _hoisted_2$l = {
|
|
469157
469210
|
key: 0,
|
|
469158
469211
|
class: "array-popup-title"
|
|
469159
469212
|
};
|
|
469160
|
-
const _hoisted_3$
|
|
469213
|
+
const _hoisted_3$k = {
|
|
469161
469214
|
key: 1,
|
|
469162
469215
|
class: "array-popup-description"
|
|
469163
469216
|
};
|
|
469164
|
-
const _hoisted_4$
|
|
469217
|
+
const _hoisted_4$k = {
|
|
469165
469218
|
key: 2,
|
|
469166
469219
|
class: "view-switch"
|
|
469167
469220
|
};
|
|
469168
|
-
const _hoisted_5$
|
|
469221
|
+
const _hoisted_5$k = {
|
|
469169
469222
|
key: 3,
|
|
469170
469223
|
class: "search-container"
|
|
469171
469224
|
};
|
|
@@ -469229,7 +469282,7 @@ ${this.attributes_.map(
|
|
|
469229
469282
|
class: "empty-data"
|
|
469230
469283
|
};
|
|
469231
469284
|
const _hoisted_44$1 = { class: "empty-text" };
|
|
469232
|
-
const _sfc_main$
|
|
469285
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
469233
469286
|
__name: "ArrayPopup",
|
|
469234
469287
|
props: {
|
|
469235
469288
|
config: {},
|
|
@@ -469375,7 +469428,7 @@ ${this.attributes_.map(
|
|
|
469375
469428
|
}
|
|
469376
469429
|
});
|
|
469377
469430
|
return (_ctx, _cache) => {
|
|
469378
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
469431
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
469379
469432
|
config: _ctx.config,
|
|
469380
469433
|
coordinate: _ctx.coordinate,
|
|
469381
469434
|
feature: _ctx.feature,
|
|
@@ -469386,10 +469439,10 @@ ${this.attributes_.map(
|
|
|
469386
469439
|
onHide: _cache[8] || (_cache[8] = ($event) => _ctx.$emit("hide"))
|
|
469387
469440
|
}, {
|
|
469388
469441
|
default: vue.withCtx(() => [
|
|
469389
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
469390
|
-
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
469391
|
-
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
469392
|
-
_ctx.config.allowViewSwitch ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
469442
|
+
vue.createElementVNode("div", _hoisted_1$n, [
|
|
469443
|
+
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$l, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
469444
|
+
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k, vue.toDisplayString(_ctx.config.description), 1)) : vue.createCommentVNode("", true),
|
|
469445
|
+
_ctx.config.allowViewSwitch ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$k, [
|
|
469393
469446
|
vue.createVNode(vue.unref(ElButton), {
|
|
469394
469447
|
class: vue.normalizeClass(["view-btn", { active: currentView.value === "table" }]),
|
|
469395
469448
|
onClick: _cache[0] || (_cache[0] = ($event) => setView("table")),
|
|
@@ -469424,7 +469477,7 @@ ${this.attributes_.map(
|
|
|
469424
469477
|
_: 1
|
|
469425
469478
|
}, 8, ["class", "type"])
|
|
469426
469479
|
])) : vue.createCommentVNode("", true),
|
|
469427
|
-
_ctx.config.searchable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
469480
|
+
_ctx.config.searchable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$k, [
|
|
469428
469481
|
vue.createVNode(vue.unref(ElInput), {
|
|
469429
469482
|
modelValue: searchQuery.value,
|
|
469430
469483
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchQuery.value = $event),
|
|
@@ -469810,7 +469863,7 @@ ${this.attributes_.map(
|
|
|
469810
469863
|
let app = null;
|
|
469811
469864
|
switch (type) {
|
|
469812
469865
|
case "html":
|
|
469813
|
-
app = vue.createApp(_sfc_main$
|
|
469866
|
+
app = vue.createApp(_sfc_main$q, {
|
|
469814
469867
|
id: popupId,
|
|
469815
469868
|
config: { ...this.config.defaultConfig, ...config },
|
|
469816
469869
|
coordinate,
|
|
@@ -469820,7 +469873,7 @@ ${this.attributes_.map(
|
|
|
469820
469873
|
});
|
|
469821
469874
|
break;
|
|
469822
469875
|
case "image":
|
|
469823
|
-
app = vue.createApp(_sfc_main$
|
|
469876
|
+
app = vue.createApp(_sfc_main$p, {
|
|
469824
469877
|
id: popupId,
|
|
469825
469878
|
config: { ...this.config.defaultConfig, ...config },
|
|
469826
469879
|
coordinate,
|
|
@@ -469830,7 +469883,7 @@ ${this.attributes_.map(
|
|
|
469830
469883
|
});
|
|
469831
469884
|
break;
|
|
469832
469885
|
case "array":
|
|
469833
|
-
app = vue.createApp(_sfc_main$
|
|
469886
|
+
app = vue.createApp(_sfc_main$o, {
|
|
469834
469887
|
id: popupId,
|
|
469835
469888
|
config: { ...this.config.defaultConfig, ...config },
|
|
469836
469889
|
coordinate,
|
|
@@ -469846,7 +469899,7 @@ ${this.attributes_.map(
|
|
|
469846
469899
|
case "all":
|
|
469847
469900
|
const allConfig = config;
|
|
469848
469901
|
if (allConfig.htmlContent) {
|
|
469849
|
-
app = vue.createApp(_sfc_main$
|
|
469902
|
+
app = vue.createApp(_sfc_main$q, {
|
|
469850
469903
|
id: popupId,
|
|
469851
469904
|
config: {
|
|
469852
469905
|
...allConfig,
|
|
@@ -469858,7 +469911,7 @@ ${this.attributes_.map(
|
|
|
469858
469911
|
onClose: () => this.closePopup(popupId)
|
|
469859
469912
|
});
|
|
469860
469913
|
} else if (allConfig.images) {
|
|
469861
|
-
app = vue.createApp(_sfc_main$
|
|
469914
|
+
app = vue.createApp(_sfc_main$p, {
|
|
469862
469915
|
id: popupId,
|
|
469863
469916
|
config: {
|
|
469864
469917
|
...allConfig,
|
|
@@ -469870,7 +469923,7 @@ ${this.attributes_.map(
|
|
|
469870
469923
|
onClose: () => this.closePopup(popupId)
|
|
469871
469924
|
});
|
|
469872
469925
|
} else if (allConfig.data) {
|
|
469873
|
-
app = vue.createApp(_sfc_main$
|
|
469926
|
+
app = vue.createApp(_sfc_main$o, {
|
|
469874
469927
|
id: popupId,
|
|
469875
469928
|
config: {
|
|
469876
469929
|
...allConfig,
|
|
@@ -469886,7 +469939,7 @@ ${this.attributes_.map(
|
|
|
469886
469939
|
}
|
|
469887
469940
|
});
|
|
469888
469941
|
} else {
|
|
469889
|
-
app = vue.createApp(_sfc_main$
|
|
469942
|
+
app = vue.createApp(_sfc_main$r, {
|
|
469890
469943
|
id: popupId,
|
|
469891
469944
|
config: allConfig,
|
|
469892
469945
|
coordinate,
|
|
@@ -469909,7 +469962,7 @@ ${this.attributes_.map(
|
|
|
469909
469962
|
},
|
|
469910
469963
|
render() {
|
|
469911
469964
|
return vue.h(
|
|
469912
|
-
_sfc_main$
|
|
469965
|
+
_sfc_main$r,
|
|
469913
469966
|
{ config: this.cfg, coordinate: this.coordinate, feature: this.feature, visible: true, id: popupId, onClose: this.onClose },
|
|
469914
469967
|
{ default: () => vue.h(this.CustomComp, { ...this.computedProps, feature: this.feature, coordinate: this.coordinate, config: this.cfg }) }
|
|
469915
469968
|
);
|
|
@@ -470164,28 +470217,47 @@ ${this.attributes_.map(
|
|
|
470164
470217
|
}
|
|
470165
470218
|
}
|
|
470166
470219
|
/**
|
|
470167
|
-
*
|
|
470220
|
+
* 查找匹配的图层配置(支持递归查找子图层)
|
|
470168
470221
|
*/
|
|
470169
470222
|
findMatchingLayer(layer2, allLayers) {
|
|
470170
|
-
|
|
470171
|
-
|
|
470172
|
-
|
|
470173
|
-
return true;
|
|
470174
|
-
}
|
|
470175
|
-
if (layer2.layerId && l2.id === layer2.layerId) {
|
|
470176
|
-
return true;
|
|
470177
|
-
}
|
|
470178
|
-
if (layer2.layerName && l2.name === layer2.layerName) {
|
|
470179
|
-
return true;
|
|
470223
|
+
for (const config of allLayers) {
|
|
470224
|
+
if (this.isLayerMatch(layer2, config)) {
|
|
470225
|
+
return config;
|
|
470180
470226
|
}
|
|
470181
|
-
if (
|
|
470182
|
-
|
|
470227
|
+
if (config.children && config.children.length > 0) {
|
|
470228
|
+
const match2 = this.findMatchingLayer(layer2, config.children);
|
|
470229
|
+
if (match2)
|
|
470230
|
+
return match2;
|
|
470183
470231
|
}
|
|
470184
|
-
if (
|
|
470185
|
-
|
|
470232
|
+
if (config.layers && config.layers.length > 0) {
|
|
470233
|
+
const match2 = this.findMatchingLayer(layer2, config.layers);
|
|
470234
|
+
if (match2)
|
|
470235
|
+
return match2;
|
|
470186
470236
|
}
|
|
470187
|
-
|
|
470188
|
-
|
|
470237
|
+
}
|
|
470238
|
+
return void 0;
|
|
470239
|
+
}
|
|
470240
|
+
/**
|
|
470241
|
+
* 检查图层实例是否匹配配置
|
|
470242
|
+
*/
|
|
470243
|
+
isLayerMatch(layer2, config) {
|
|
470244
|
+
var _a3;
|
|
470245
|
+
if (((_a3 = layer2.values_) == null ? void 0 : _a3.layerId) && config.id === layer2.values_.layerId) {
|
|
470246
|
+
return true;
|
|
470247
|
+
}
|
|
470248
|
+
if (layer2.layerId && config.id === layer2.layerId) {
|
|
470249
|
+
return true;
|
|
470250
|
+
}
|
|
470251
|
+
if (layer2.layerName && config.name === layer2.layerName) {
|
|
470252
|
+
return true;
|
|
470253
|
+
}
|
|
470254
|
+
if (layer2.get && layer2.get("id") === config.id) {
|
|
470255
|
+
return true;
|
|
470256
|
+
}
|
|
470257
|
+
if (layer2.get && layer2.get("name") === config.name) {
|
|
470258
|
+
return true;
|
|
470259
|
+
}
|
|
470260
|
+
return false;
|
|
470189
470261
|
}
|
|
470190
470262
|
/**
|
|
470191
470263
|
* 初始化地图
|
|
@@ -470304,7 +470376,7 @@ ${this.attributes_.map(
|
|
|
470304
470376
|
const initialCenter = this.config.center || [116.404, 39.915];
|
|
470305
470377
|
const initialZoom = this.config.zoom || 10;
|
|
470306
470378
|
this.mapOperationTool = new MapOperationTool(this.map, initialCenter, initialZoom);
|
|
470307
|
-
this.geoJsonLocationTool = new GeoJSONLocationTool(this.map);
|
|
470379
|
+
this.geoJsonLocationTool = new GeoJSONLocationTool(this.map, this.featureHighlightManager);
|
|
470308
470380
|
const popupConfig = this.config.popupConfig || {};
|
|
470309
470381
|
this.popupManager = new PopupManager(this.map, popupConfig);
|
|
470310
470382
|
this.bindEventManagerEvents();
|
|
@@ -470910,13 +470982,13 @@ ${this.attributes_.map(
|
|
|
470910
470982
|
this.map = null;
|
|
470911
470983
|
}
|
|
470912
470984
|
}
|
|
470913
|
-
const _hoisted_1$
|
|
470914
|
-
const _hoisted_2$
|
|
470985
|
+
const _hoisted_1$m = ["id"];
|
|
470986
|
+
const _hoisted_2$k = {
|
|
470915
470987
|
class: "absolute top-0 left-0 w-full h-full z-2000",
|
|
470916
470988
|
"element-loading-text": "地图加载中...",
|
|
470917
470989
|
"element-loading-background": "rgba(0, 0, 0, 0.3)"
|
|
470918
470990
|
};
|
|
470919
|
-
const _sfc_main$
|
|
470991
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
470920
470992
|
__name: "MapContainer",
|
|
470921
470993
|
props: {
|
|
470922
470994
|
config: {},
|
|
@@ -471099,8 +471171,8 @@ ${this.attributes_.map(
|
|
|
471099
471171
|
vue.createElementVNode("div", {
|
|
471100
471172
|
id: mapId.value,
|
|
471101
471173
|
class: "w-full h-full bg-gray-100"
|
|
471102
|
-
}, null, 8, _hoisted_1$
|
|
471103
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
471174
|
+
}, null, 8, _hoisted_1$m),
|
|
471175
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$k, null, 512), [
|
|
471104
471176
|
[vue.vShow, _ctx.loading],
|
|
471105
471177
|
[_directive_loading, _ctx.loading]
|
|
471106
471178
|
])
|
|
@@ -471109,8 +471181,8 @@ ${this.attributes_.map(
|
|
|
471109
471181
|
}
|
|
471110
471182
|
});
|
|
471111
471183
|
const MapContainer_vue_vue_type_style_index_0_lang = "";
|
|
471112
|
-
const _hoisted_1$
|
|
471113
|
-
const _sfc_main$
|
|
471184
|
+
const _hoisted_1$l = ["href"];
|
|
471185
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
471114
471186
|
__name: "index",
|
|
471115
471187
|
props: {
|
|
471116
471188
|
prefix: { default: "icon" },
|
|
@@ -471128,7 +471200,7 @@ ${this.attributes_.map(
|
|
|
471128
471200
|
class: computedClass.value,
|
|
471129
471201
|
"aria-hidden": "true"
|
|
471130
471202
|
}, _ctx.$attrs), [
|
|
471131
|
-
vue.createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$
|
|
471203
|
+
vue.createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$l)
|
|
471132
471204
|
], 16);
|
|
471133
471205
|
};
|
|
471134
471206
|
}
|
|
@@ -471329,14 +471401,14 @@ ${this.attributes_.map(
|
|
|
471329
471401
|
}
|
|
471330
471402
|
const dialogCacheManager = new DialogCacheManager();
|
|
471331
471403
|
const dialogCacheManager$1 = dialogCacheManager;
|
|
471332
|
-
const _hoisted_1$
|
|
471333
|
-
const _hoisted_2$
|
|
471334
|
-
const _hoisted_3$
|
|
471335
|
-
const _hoisted_4$
|
|
471404
|
+
const _hoisted_1$k = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
471405
|
+
const _hoisted_2$j = { class: "flex items-center gap-2" };
|
|
471406
|
+
const _hoisted_3$j = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
471407
|
+
const _hoisted_4$j = {
|
|
471336
471408
|
key: 0,
|
|
471337
471409
|
class: "px-5 py-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3"
|
|
471338
471410
|
};
|
|
471339
|
-
const _hoisted_5$
|
|
471411
|
+
const _hoisted_5$j = ["onMousedown"];
|
|
471340
471412
|
const _hoisted_6$f = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
471341
471413
|
const _hoisted_7$d = { class: "flex items-center gap-2" };
|
|
471342
471414
|
const _hoisted_8$a = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
@@ -471348,7 +471420,7 @@ ${this.attributes_.map(
|
|
|
471348
471420
|
key: 1,
|
|
471349
471421
|
class: "absolute top-0 left-0 w-full h-full pointer-events-none"
|
|
471350
471422
|
};
|
|
471351
|
-
const _sfc_main$
|
|
471423
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
471352
471424
|
...{
|
|
471353
471425
|
inheritAttrs: false
|
|
471354
471426
|
},
|
|
@@ -471839,12 +471911,12 @@ ${this.attributes_.map(
|
|
|
471839
471911
|
class: vue.normalizeClass(["flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-gray-50", { "cursor-move": _ctx.draggable && !isFullscreen.value }]),
|
|
471840
471912
|
onMousedown: startDrag
|
|
471841
471913
|
}, [
|
|
471842
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
471914
|
+
vue.createElementVNode("div", _hoisted_1$k, [
|
|
471843
471915
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
471844
471916
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
471845
471917
|
])
|
|
471846
471918
|
]),
|
|
471847
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
471919
|
+
vue.createElementVNode("div", _hoisted_2$j, [
|
|
471848
471920
|
_ctx.showFullscreen ? (vue.openBlock(), vue.createBlock(vue.unref(ElButton), {
|
|
471849
471921
|
key: 0,
|
|
471850
471922
|
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",
|
|
@@ -471852,7 +471924,7 @@ ${this.attributes_.map(
|
|
|
471852
471924
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471853
471925
|
}, {
|
|
471854
471926
|
default: vue.withCtx(() => [
|
|
471855
|
-
vue.createVNode(_sfc_main$
|
|
471927
|
+
vue.createVNode(_sfc_main$m, {
|
|
471856
471928
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471857
471929
|
}, null, 8, ["name"])
|
|
471858
471930
|
]),
|
|
@@ -471865,16 +471937,16 @@ ${this.attributes_.map(
|
|
|
471865
471937
|
title: "关闭"
|
|
471866
471938
|
}, {
|
|
471867
471939
|
default: vue.withCtx(() => [
|
|
471868
|
-
vue.createVNode(_sfc_main$
|
|
471940
|
+
vue.createVNode(_sfc_main$m, { name: "close" })
|
|
471869
471941
|
]),
|
|
471870
471942
|
_: 1
|
|
471871
471943
|
})) : vue.createCommentVNode("", true)
|
|
471872
471944
|
])
|
|
471873
471945
|
], 34),
|
|
471874
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
471946
|
+
vue.createElementVNode("div", _hoisted_3$j, [
|
|
471875
471947
|
vue.renderSlot(_ctx.$slots, "default")
|
|
471876
471948
|
]),
|
|
471877
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
471949
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, [
|
|
471878
471950
|
vue.renderSlot(_ctx.$slots, "footer")
|
|
471879
471951
|
])) : vue.createCommentVNode("", true),
|
|
471880
471952
|
_ctx.resizable && !isFullscreen.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(resizeDirections, (direction2) => {
|
|
@@ -471882,7 +471954,7 @@ ${this.attributes_.map(
|
|
|
471882
471954
|
key: direction2,
|
|
471883
471955
|
class: vue.normalizeClass(`absolute bg-transparent z-10 pointer-events-auto resize-${direction2}`),
|
|
471884
471956
|
onMousedown: ($event) => startResize($event, direction2)
|
|
471885
|
-
}, null, 42, _hoisted_5$
|
|
471957
|
+
}, null, 42, _hoisted_5$j);
|
|
471886
471958
|
}), 64)) : vue.createCommentVNode("", true)
|
|
471887
471959
|
], 16)
|
|
471888
471960
|
], 6)) : vue.createCommentVNode("", true)
|
|
@@ -471935,7 +472007,7 @@ ${this.attributes_.map(
|
|
|
471935
472007
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471936
472008
|
}, {
|
|
471937
472009
|
default: vue.withCtx(() => [
|
|
471938
|
-
vue.createVNode(_sfc_main$
|
|
472010
|
+
vue.createVNode(_sfc_main$m, {
|
|
471939
472011
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471940
472012
|
}, null, 8, ["name"])
|
|
471941
472013
|
]),
|
|
@@ -471948,7 +472020,7 @@ ${this.attributes_.map(
|
|
|
471948
472020
|
title: "关闭"
|
|
471949
472021
|
}, {
|
|
471950
472022
|
default: vue.withCtx(() => [
|
|
471951
|
-
vue.createVNode(_sfc_main$
|
|
472023
|
+
vue.createVNode(_sfc_main$m, { name: "close" })
|
|
471952
472024
|
]),
|
|
471953
472025
|
_: 1
|
|
471954
472026
|
})) : vue.createCommentVNode("", true)
|
|
@@ -472010,13 +472082,13 @@ ${this.attributes_.map(
|
|
|
472010
472082
|
const tencentVecUrl = "data:image/png;base64,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";
|
|
472011
472083
|
const osmUrl = "data:image/png;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2YyZjJmMiIvPgogIDxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNjY2NjY2MiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0yMCAzMCBMNDAgMjAgTDYwIDM1IEw4MCAyNSBMODAgNzAgTDYwIDc1IEw0MCA2MCBMMjAgNzAgWiIgZmlsbD0iIzdkZDNjMCIgc3Ryb2tlPSIjNWNiM2EwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8Y2lyY2xlIGN4PSIzNSIgY3k9IjQ1IiByPSIzIiBmaWxsPSIjZmY2YjZiIi8+CiAgPGNpcmNsZSBjeD0iNTUiIGN5PSIzNSIgcj0iMiIgZmlsbD0iIzRlY2RjNCIvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iNTUiIHI9IjIiIGZpbGw9IiM0NWI3ZDEiLz4KICA8dGV4dCB4PSI1MCIgeT0iOTAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzY2NiI+T1NNPC90ZXh0Pgo8L3N2Zz4=";
|
|
472012
472084
|
const customBlueUrl = "data:image/png;base64,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";
|
|
472013
|
-
const _hoisted_1$
|
|
472014
|
-
const _hoisted_2$
|
|
472015
|
-
const _hoisted_3$
|
|
472016
|
-
const _hoisted_4$
|
|
472017
|
-
const _hoisted_5$
|
|
472085
|
+
const _hoisted_1$j = { class: "basemap-content" };
|
|
472086
|
+
const _hoisted_2$i = { class: "basemap-grid" };
|
|
472087
|
+
const _hoisted_3$i = ["onClick"];
|
|
472088
|
+
const _hoisted_4$i = { class: "basemap-preview" };
|
|
472089
|
+
const _hoisted_5$i = ["src", "alt"];
|
|
472018
472090
|
const _hoisted_6$e = { class: "basemap-name" };
|
|
472019
|
-
const _sfc_main$
|
|
472091
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
472020
472092
|
__name: "BasemapPanel",
|
|
472021
472093
|
props: {
|
|
472022
472094
|
modelValue: { type: Boolean }
|
|
@@ -472231,7 +472303,7 @@ ${this.attributes_.map(
|
|
|
472231
472303
|
}
|
|
472232
472304
|
};
|
|
472233
472305
|
return (_ctx, _cache) => {
|
|
472234
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
472306
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
472235
472307
|
modelValue: visible.value,
|
|
472236
472308
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
472237
472309
|
title: "底图选择",
|
|
@@ -472247,23 +472319,23 @@ ${this.attributes_.map(
|
|
|
472247
472319
|
onClose: handleClose
|
|
472248
472320
|
}, {
|
|
472249
472321
|
default: vue.withCtx(() => [
|
|
472250
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
472251
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
472322
|
+
vue.createElementVNode("div", _hoisted_1$j, [
|
|
472323
|
+
vue.createElementVNode("div", _hoisted_2$i, [
|
|
472252
472324
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBasemaps.value, (basemap) => {
|
|
472253
472325
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
472254
472326
|
key: basemap.id,
|
|
472255
472327
|
class: vue.normalizeClass(["basemap-item", { active: selectedBasemap.value === basemap.id }]),
|
|
472256
472328
|
onClick: ($event) => selectBasemap(basemap)
|
|
472257
472329
|
}, [
|
|
472258
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
472330
|
+
vue.createElementVNode("div", _hoisted_4$i, [
|
|
472259
472331
|
vue.createElementVNode("img", {
|
|
472260
472332
|
src: basemap.thumbnail,
|
|
472261
472333
|
alt: basemap.name,
|
|
472262
472334
|
loading: "lazy"
|
|
472263
|
-
}, null, 8, _hoisted_5$
|
|
472335
|
+
}, null, 8, _hoisted_5$i)
|
|
472264
472336
|
]),
|
|
472265
472337
|
vue.createElementVNode("div", _hoisted_6$e, vue.toDisplayString(basemap.name), 1)
|
|
472266
|
-
], 10, _hoisted_3$
|
|
472338
|
+
], 10, _hoisted_3$i);
|
|
472267
472339
|
}), 128))
|
|
472268
472340
|
])
|
|
472269
472341
|
])
|
|
@@ -472605,15 +472677,15 @@ ${this.attributes_.map(
|
|
|
472605
472677
|
function createOverviewMapUtil() {
|
|
472606
472678
|
return new OverviewMapUtil();
|
|
472607
472679
|
}
|
|
472608
|
-
const _hoisted_1$
|
|
472609
|
-
const _hoisted_2$
|
|
472610
|
-
const _hoisted_3$
|
|
472611
|
-
const _hoisted_4$
|
|
472612
|
-
const _hoisted_5$
|
|
472680
|
+
const _hoisted_1$i = { class: "measurement-content h-full flex flex-col" };
|
|
472681
|
+
const _hoisted_2$h = { class: "measurement-header flex justify-between items-center px-6 py-4" };
|
|
472682
|
+
const _hoisted_3$h = { class: "measurement-result py-8 text-center" };
|
|
472683
|
+
const _hoisted_4$h = { class: "result-value" };
|
|
472684
|
+
const _hoisted_5$h = { class: "tool-grid flex-1 py-5" };
|
|
472613
472685
|
const _hoisted_6$d = ["onClick"];
|
|
472614
472686
|
const _hoisted_7$c = ["src", "alt"];
|
|
472615
472687
|
const _hoisted_8$9 = { class: "tool-label" };
|
|
472616
|
-
const _sfc_main$
|
|
472688
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
472617
472689
|
__name: "MeasurementDialog",
|
|
472618
472690
|
props: {
|
|
472619
472691
|
modelValue: { type: Boolean }
|
|
@@ -472845,7 +472917,7 @@ ${this.attributes_.map(
|
|
|
472845
472917
|
const _component_el_option_group = vue.resolveComponent("el-option-group");
|
|
472846
472918
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
472847
472919
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
472848
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
472920
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
472849
472921
|
modelValue: dialogVisible.value,
|
|
472850
472922
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
472851
472923
|
title: "图上量算",
|
|
@@ -472855,8 +472927,8 @@ ${this.attributes_.map(
|
|
|
472855
472927
|
cacheId: "measurement-dialog"
|
|
472856
472928
|
}, {
|
|
472857
472929
|
default: vue.withCtx(() => [
|
|
472858
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
472859
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
472930
|
+
vue.createElementVNode("div", _hoisted_1$i, [
|
|
472931
|
+
vue.createElementVNode("div", _hoisted_2$h, [
|
|
472860
472932
|
vue.createVNode(_component_el_select, {
|
|
472861
472933
|
modelValue: selectedUnit.value,
|
|
472862
472934
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedUnit.value = $event),
|
|
@@ -472924,10 +472996,10 @@ ${this.attributes_.map(
|
|
|
472924
472996
|
_: 1
|
|
472925
472997
|
})
|
|
472926
472998
|
]),
|
|
472927
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
472928
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
472999
|
+
vue.createElementVNode("div", _hoisted_3$h, [
|
|
473000
|
+
vue.createElementVNode("div", _hoisted_4$h, vue.toDisplayString(getDisplayValue()), 1)
|
|
472929
473001
|
]),
|
|
472930
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
473002
|
+
vue.createElementVNode("div", _hoisted_5$h, [
|
|
472931
473003
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(measurementTools, (tool) => {
|
|
472932
473004
|
return vue.createElementVNode("div", {
|
|
472933
473005
|
key: tool.type,
|
|
@@ -472958,13 +473030,13 @@ ${this.attributes_.map(
|
|
|
472958
473030
|
}
|
|
472959
473031
|
return target;
|
|
472960
473032
|
};
|
|
472961
|
-
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
472962
|
-
const _hoisted_1$
|
|
472963
|
-
const _hoisted_2$
|
|
472964
|
-
const _hoisted_3$
|
|
472965
|
-
const _hoisted_4$
|
|
472966
|
-
const _hoisted_5$
|
|
472967
|
-
const _sfc_main$
|
|
473033
|
+
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d868b567"]]);
|
|
473034
|
+
const _hoisted_1$h = { class: "coordinate-content" };
|
|
473035
|
+
const _hoisted_2$g = { class: "format-selection" };
|
|
473036
|
+
const _hoisted_3$g = { class: "format-options" };
|
|
473037
|
+
const _hoisted_4$g = { class: "coordinate-input" };
|
|
473038
|
+
const _hoisted_5$g = { class: "dialog-footer" };
|
|
473039
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
472968
473040
|
__name: "CoordinateLocationDialog",
|
|
472969
473041
|
props: {
|
|
472970
473042
|
modelValue: { type: Boolean }
|
|
@@ -473114,7 +473186,7 @@ ${this.attributes_.map(
|
|
|
473114
473186
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
473115
473187
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
473116
473188
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
473117
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
473189
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
473118
473190
|
modelValue: dialogVisible.value,
|
|
473119
473191
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
|
|
473120
473192
|
title: "坐标拾取",
|
|
@@ -473125,7 +473197,7 @@ ${this.attributes_.map(
|
|
|
473125
473197
|
class: "coordinate-dialog"
|
|
473126
473198
|
}, {
|
|
473127
473199
|
footer: vue.withCtx(() => [
|
|
473128
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
473200
|
+
vue.createElementVNode("div", _hoisted_5$g, [
|
|
473129
473201
|
vue.createVNode(_component_el_button, {
|
|
473130
473202
|
type: "primary",
|
|
473131
473203
|
onClick: getCurrentLocation
|
|
@@ -473147,10 +473219,10 @@ ${this.attributes_.map(
|
|
|
473147
473219
|
])
|
|
473148
473220
|
]),
|
|
473149
473221
|
default: vue.withCtx(() => [
|
|
473150
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
473151
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
473222
|
+
vue.createElementVNode("div", _hoisted_1$h, [
|
|
473223
|
+
vue.createElementVNode("div", _hoisted_2$g, [
|
|
473152
473224
|
_cache[6] || (_cache[6] = vue.createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
|
|
473153
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
473225
|
+
vue.createElementVNode("div", _hoisted_3$g, [
|
|
473154
473226
|
vue.createVNode(_component_el_radio_group, {
|
|
473155
473227
|
modelValue: selectedFormat.value,
|
|
473156
473228
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
|
|
@@ -473174,7 +473246,7 @@ ${this.attributes_.map(
|
|
|
473174
473246
|
}, 8, ["modelValue"])
|
|
473175
473247
|
])
|
|
473176
473248
|
]),
|
|
473177
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
473249
|
+
vue.createElementVNode("div", _hoisted_4$g, [
|
|
473178
473250
|
vue.createVNode(_component_el_form, {
|
|
473179
473251
|
model: coordinateForm,
|
|
473180
473252
|
"label-width": "60px"
|
|
@@ -473216,14 +473288,14 @@ ${this.attributes_.map(
|
|
|
473216
473288
|
}
|
|
473217
473289
|
});
|
|
473218
473290
|
const CoordinateLocationDialog_vue_vue_type_style_index_0_lang = "";
|
|
473219
|
-
const _hoisted_1$
|
|
473220
|
-
const _hoisted_2$
|
|
473291
|
+
const _hoisted_1$g = { class: "region-content" };
|
|
473292
|
+
const _hoisted_2$f = {
|
|
473221
473293
|
key: 0,
|
|
473222
473294
|
class: "region-categories"
|
|
473223
473295
|
};
|
|
473224
|
-
const _hoisted_3$
|
|
473225
|
-
const _hoisted_4$
|
|
473226
|
-
const _hoisted_5$
|
|
473296
|
+
const _hoisted_3$f = { class: "region-group" };
|
|
473297
|
+
const _hoisted_4$f = { class: "region-items" };
|
|
473298
|
+
const _hoisted_5$f = { class: "region-group" };
|
|
473227
473299
|
const _hoisted_6$c = { class: "region-items" };
|
|
473228
473300
|
const _hoisted_7$b = { class: "region-group" };
|
|
473229
473301
|
const _hoisted_8$8 = { class: "region-items" };
|
|
@@ -473242,7 +473314,7 @@ ${this.attributes_.map(
|
|
|
473242
473314
|
class: "sub-regions"
|
|
473243
473315
|
};
|
|
473244
473316
|
const _hoisted_20$4 = { class: "district-grid" };
|
|
473245
|
-
const _sfc_main$
|
|
473317
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
473246
473318
|
__name: "RegionNavigationDialog",
|
|
473247
473319
|
props: {
|
|
473248
473320
|
modelValue: { type: Boolean }
|
|
@@ -474327,7 +474399,7 @@ ${this.attributes_.map(
|
|
|
474327
474399
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
474328
474400
|
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
|
|
474329
474401
|
const _component_el_tabs = vue.resolveComponent("el-tabs");
|
|
474330
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
474402
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
474331
474403
|
modelValue: dialogVisible.value,
|
|
474332
474404
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
474333
474405
|
title: "地区导航",
|
|
@@ -474338,7 +474410,7 @@ ${this.attributes_.map(
|
|
|
474338
474410
|
class: "region-dialog"
|
|
474339
474411
|
}, {
|
|
474340
474412
|
default: vue.withCtx(() => [
|
|
474341
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
474413
|
+
vue.createElementVNode("div", _hoisted_1$g, [
|
|
474342
474414
|
vue.createVNode(_component_el_tabs, {
|
|
474343
474415
|
modelValue: activeTab.value,
|
|
474344
474416
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
@@ -474356,10 +474428,10 @@ ${this.attributes_.map(
|
|
|
474356
474428
|
closable: index2 > 0
|
|
474357
474429
|
}, {
|
|
474358
474430
|
default: vue.withCtx(() => [
|
|
474359
|
-
tab.name === "china" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
474360
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
474431
|
+
tab.name === "china" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
|
|
474432
|
+
vue.createElementVNode("div", _hoisted_3$f, [
|
|
474361
474433
|
_cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "group-title" }, "华北", -1)),
|
|
474362
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
474434
|
+
vue.createElementVNode("div", _hoisted_4$f, [
|
|
474363
474435
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(regions.north, (region) => {
|
|
474364
474436
|
return vue.openBlock(), vue.createBlock(_component_el_button, {
|
|
474365
474437
|
key: region.code,
|
|
@@ -474375,7 +474447,7 @@ ${this.attributes_.map(
|
|
|
474375
474447
|
}), 128))
|
|
474376
474448
|
])
|
|
474377
474449
|
]),
|
|
474378
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
474450
|
+
vue.createElementVNode("div", _hoisted_5$f, [
|
|
474379
474451
|
_cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "group-title" }, "东北", -1)),
|
|
474380
474452
|
vue.createElementVNode("div", _hoisted_6$c, [
|
|
474381
474453
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(regions.northeast, (region) => {
|
|
@@ -474532,12 +474604,12 @@ ${this.attributes_.map(
|
|
|
474532
474604
|
}
|
|
474533
474605
|
});
|
|
474534
474606
|
const RegionNavigationDialog_vue_vue_type_style_index_0_lang = "";
|
|
474535
|
-
const _hoisted_1$
|
|
474536
|
-
const _hoisted_2$
|
|
474537
|
-
const _hoisted_3$
|
|
474538
|
-
const _hoisted_4$
|
|
474539
|
-
const _hoisted_5$
|
|
474540
|
-
const _sfc_main$
|
|
474607
|
+
const _hoisted_1$f = { class: "markers-content" };
|
|
474608
|
+
const _hoisted_2$e = { class: "toolbar" };
|
|
474609
|
+
const _hoisted_3$e = { class: "search-filter" };
|
|
474610
|
+
const _hoisted_4$e = { class: "markers-list" };
|
|
474611
|
+
const _hoisted_5$e = { class: "marker-name" };
|
|
474612
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
474541
474613
|
__name: "MyMarkersDialog",
|
|
474542
474614
|
props: {
|
|
474543
474615
|
modelValue: { type: Boolean }
|
|
@@ -474863,7 +474935,7 @@ ${this.attributes_.map(
|
|
|
474863
474935
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
474864
474936
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
474865
474937
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
474866
|
-
vue.createVNode(_sfc_main$
|
|
474938
|
+
vue.createVNode(_sfc_main$l, {
|
|
474867
474939
|
modelValue: dialogVisible.value,
|
|
474868
474940
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
|
|
474869
474941
|
title: "我的标记",
|
|
@@ -474874,8 +474946,8 @@ ${this.attributes_.map(
|
|
|
474874
474946
|
class: "markers-dialog"
|
|
474875
474947
|
}, {
|
|
474876
474948
|
default: vue.withCtx(() => [
|
|
474877
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
474878
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
474949
|
+
vue.createElementVNode("div", _hoisted_1$f, [
|
|
474950
|
+
vue.createElementVNode("div", _hoisted_2$e, [
|
|
474879
474951
|
vue.createVNode(_component_el_button, {
|
|
474880
474952
|
type: "primary",
|
|
474881
474953
|
icon: vue.unref(plus_default),
|
|
@@ -474916,7 +474988,7 @@ ${this.attributes_.map(
|
|
|
474916
474988
|
_: 1
|
|
474917
474989
|
}, 8, ["icon", "disabled"])
|
|
474918
474990
|
]),
|
|
474919
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
474991
|
+
vue.createElementVNode("div", _hoisted_3$e, [
|
|
474920
474992
|
vue.createVNode(_component_el_input, {
|
|
474921
474993
|
modelValue: searchKeyword.value,
|
|
474922
474994
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -474949,7 +475021,7 @@ ${this.attributes_.map(
|
|
|
474949
475021
|
_: 1
|
|
474950
475022
|
}, 8, ["modelValue"])
|
|
474951
475023
|
]),
|
|
474952
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
475024
|
+
vue.createElementVNode("div", _hoisted_4$e, [
|
|
474953
475025
|
vue.createVNode(_component_el_table, {
|
|
474954
475026
|
data: filteredMarkers.value,
|
|
474955
475027
|
height: "300",
|
|
@@ -474963,7 +475035,7 @@ ${this.attributes_.map(
|
|
|
474963
475035
|
width: "120"
|
|
474964
475036
|
}, {
|
|
474965
475037
|
default: vue.withCtx(({ row }) => [
|
|
474966
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
475038
|
+
vue.createElementVNode("div", _hoisted_5$e, [
|
|
474967
475039
|
vue.createVNode(_component_el_icon, {
|
|
474968
475040
|
color: row.color,
|
|
474969
475041
|
size: "16"
|
|
@@ -475037,7 +475109,7 @@ ${this.attributes_.map(
|
|
|
475037
475109
|
]),
|
|
475038
475110
|
_: 1
|
|
475039
475111
|
}, 8, ["modelValue"]),
|
|
475040
|
-
vue.createVNode(_sfc_main$
|
|
475112
|
+
vue.createVNode(_sfc_main$l, {
|
|
475041
475113
|
modelValue: showAddDialog.value,
|
|
475042
475114
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showAddDialog.value = $event),
|
|
475043
475115
|
title: "添加标记",
|
|
@@ -475109,11 +475181,11 @@ ${this.attributes_.map(
|
|
|
475109
475181
|
}
|
|
475110
475182
|
});
|
|
475111
475183
|
const MyMarkersDialog_vue_vue_type_style_index_0_lang = "";
|
|
475112
|
-
const _hoisted_1$
|
|
475113
|
-
const _hoisted_2$
|
|
475114
|
-
const _hoisted_3$
|
|
475115
|
-
const _hoisted_4$
|
|
475116
|
-
const _hoisted_5$
|
|
475184
|
+
const _hoisted_1$e = { class: "bookmarks-content" };
|
|
475185
|
+
const _hoisted_2$d = { class: "toolbar" };
|
|
475186
|
+
const _hoisted_3$d = { class: "search-filter" };
|
|
475187
|
+
const _hoisted_4$d = { class: "bookmarks-grid" };
|
|
475188
|
+
const _hoisted_5$d = ["onClick"];
|
|
475117
475189
|
const _hoisted_6$b = { class: "bookmark-thumbnail" };
|
|
475118
475190
|
const _hoisted_7$a = { class: "thumbnail-placeholder" };
|
|
475119
475191
|
const _hoisted_8$7 = { class: "bookmark-overlay" };
|
|
@@ -475135,7 +475207,7 @@ ${this.attributes_.map(
|
|
|
475135
475207
|
class: "statistics"
|
|
475136
475208
|
};
|
|
475137
475209
|
const _hoisted_20$3 = { class: "dialog-footer" };
|
|
475138
|
-
const _sfc_main$
|
|
475210
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
475139
475211
|
__name: "ViewBookmarksDialog",
|
|
475140
475212
|
props: {
|
|
475141
475213
|
modelValue: { type: Boolean }
|
|
@@ -475394,7 +475466,7 @@ ${this.attributes_.map(
|
|
|
475394
475466
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
475395
475467
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
|
475396
475468
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
475397
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
475469
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
475398
475470
|
modelValue: dialogVisible.value,
|
|
475399
475471
|
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
|
|
475400
475472
|
title: "视角书签",
|
|
@@ -475415,8 +475487,8 @@ ${this.attributes_.map(
|
|
|
475415
475487
|
])
|
|
475416
475488
|
]),
|
|
475417
475489
|
default: vue.withCtx(() => [
|
|
475418
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
475419
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
475490
|
+
vue.createElementVNode("div", _hoisted_1$e, [
|
|
475491
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
475420
475492
|
vue.createVNode(_component_el_button, {
|
|
475421
475493
|
type: "primary",
|
|
475422
475494
|
icon: vue.unref(plus_default),
|
|
@@ -475456,7 +475528,7 @@ ${this.attributes_.map(
|
|
|
475456
475528
|
_: 1
|
|
475457
475529
|
}, 8, ["icon", "disabled"])
|
|
475458
475530
|
]),
|
|
475459
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
475531
|
+
vue.createElementVNode("div", _hoisted_3$d, [
|
|
475460
475532
|
vue.createVNode(_component_el_input, {
|
|
475461
475533
|
modelValue: searchKeyword.value,
|
|
475462
475534
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -475511,7 +475583,7 @@ ${this.attributes_.map(
|
|
|
475511
475583
|
_: 1
|
|
475512
475584
|
}, 8, ["modelValue"])
|
|
475513
475585
|
]),
|
|
475514
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
475586
|
+
vue.createElementVNode("div", _hoisted_4$d, [
|
|
475515
475587
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredBookmarks.value, (bookmark, index2) => {
|
|
475516
475588
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
475517
475589
|
key: bookmark.id,
|
|
@@ -475607,7 +475679,7 @@ ${this.attributes_.map(
|
|
|
475607
475679
|
]),
|
|
475608
475680
|
vue.createElementVNode("div", _hoisted_17$4, vue.toDisplayString(formatTime(bookmark.createTime)), 1)
|
|
475609
475681
|
])
|
|
475610
|
-
], 8, _hoisted_5$
|
|
475682
|
+
], 8, _hoisted_5$d);
|
|
475611
475683
|
}), 128))
|
|
475612
475684
|
]),
|
|
475613
475685
|
filteredBookmarks.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$4, [
|
|
@@ -475670,7 +475742,7 @@ ${this.attributes_.map(
|
|
|
475670
475742
|
})
|
|
475671
475743
|
])) : vue.createCommentVNode("", true)
|
|
475672
475744
|
]),
|
|
475673
|
-
vue.createVNode(_sfc_main$
|
|
475745
|
+
vue.createVNode(_sfc_main$l, {
|
|
475674
475746
|
modelValue: showBookmarkForm.value,
|
|
475675
475747
|
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
|
|
475676
475748
|
title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
|
|
@@ -475825,11 +475897,11 @@ ${this.attributes_.map(
|
|
|
475825
475897
|
}
|
|
475826
475898
|
});
|
|
475827
475899
|
const ViewBookmarksDialog_vue_vue_type_style_index_0_lang = "";
|
|
475828
|
-
const _hoisted_1$
|
|
475829
|
-
const _hoisted_2$
|
|
475830
|
-
const _hoisted_3$
|
|
475831
|
-
const _hoisted_4$
|
|
475832
|
-
const _hoisted_5$
|
|
475900
|
+
const _hoisted_1$d = { class: "py-2.5" };
|
|
475901
|
+
const _hoisted_2$c = { class: "h-150 overflow-y-auto" };
|
|
475902
|
+
const _hoisted_3$c = { class: "flex items-center justify-between" };
|
|
475903
|
+
const _hoisted_4$c = { class: "mb-5" };
|
|
475904
|
+
const _hoisted_5$c = { class: "mb-3" };
|
|
475833
475905
|
const _hoisted_6$a = {
|
|
475834
475906
|
key: 0,
|
|
475835
475907
|
class: "mb-3"
|
|
@@ -475914,7 +475986,7 @@ ${this.attributes_.map(
|
|
|
475914
475986
|
const _hoisted_45 = { key: 0 };
|
|
475915
475987
|
const _hoisted_46 = { key: 0 };
|
|
475916
475988
|
const _hoisted_47 = { class: "text-right" };
|
|
475917
|
-
const _sfc_main$
|
|
475989
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
475918
475990
|
__name: "MapPrintDialog",
|
|
475919
475991
|
props: {
|
|
475920
475992
|
modelValue: { type: Boolean },
|
|
@@ -476293,7 +476365,7 @@ ${this.attributes_.map(
|
|
|
476293
476365
|
const _component_el_col = vue.resolveComponent("el-col");
|
|
476294
476366
|
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
476295
476367
|
const _component_el_row = vue.resolveComponent("el-row");
|
|
476296
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
476368
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
476297
476369
|
modelValue: dialogVisible.value,
|
|
476298
476370
|
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => dialogVisible.value = $event),
|
|
476299
476371
|
title: "地图打印",
|
|
@@ -476331,15 +476403,15 @@ ${this.attributes_.map(
|
|
|
476331
476403
|
])
|
|
476332
476404
|
]),
|
|
476333
476405
|
default: vue.withCtx(() => [
|
|
476334
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
476406
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
476335
476407
|
vue.createVNode(_component_el_row, { gutter: 20 }, {
|
|
476336
476408
|
default: vue.withCtx(() => [
|
|
476337
476409
|
vue.createVNode(_component_el_col, { span: 8 }, {
|
|
476338
476410
|
default: vue.withCtx(() => [
|
|
476339
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
476411
|
+
vue.createElementVNode("div", _hoisted_2$c, [
|
|
476340
476412
|
vue.createVNode(_component_el_card, { shadow: "hover" }, {
|
|
476341
476413
|
header: vue.withCtx(() => [
|
|
476342
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
476414
|
+
vue.createElementVNode("div", _hoisted_3$c, [
|
|
476343
476415
|
_cache[18] || (_cache[18] = vue.createElementVNode("span", null, "打印设置", -1)),
|
|
476344
476416
|
vue.createVNode(_component_el_button, {
|
|
476345
476417
|
type: "text",
|
|
@@ -476359,9 +476431,9 @@ ${this.attributes_.map(
|
|
|
476359
476431
|
])
|
|
476360
476432
|
]),
|
|
476361
476433
|
default: vue.withCtx(() => [
|
|
476362
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
476434
|
+
vue.createElementVNode("div", _hoisted_4$c, [
|
|
476363
476435
|
_cache[21] || (_cache[21] = vue.createElementVNode("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "纸张设置", -1)),
|
|
476364
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
476436
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
476365
476437
|
vue.createVNode(_component_el_select, {
|
|
476366
476438
|
modelValue: printSettings.paperSize,
|
|
476367
476439
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => printSettings.paperSize = $event),
|
|
@@ -476903,17 +476975,17 @@ ${this.attributes_.map(
|
|
|
476903
476975
|
const MapPrintDialog_vue_vue_type_style_index_0_lang = "";
|
|
476904
476976
|
const MarkTab_vue_vue_type_style_index_0_scoped_127b85ab_lang = "";
|
|
476905
476977
|
const MarkTab_vue_vue_type_style_index_1_lang = "";
|
|
476906
|
-
const _hoisted_1$
|
|
476907
|
-
const _hoisted_2$
|
|
476908
|
-
const _hoisted_3$
|
|
476909
|
-
const _hoisted_4$
|
|
476910
|
-
const _hoisted_5$
|
|
476978
|
+
const _hoisted_1$c = { class: "mark-tab-container" };
|
|
476979
|
+
const _hoisted_2$b = { class: "continuous-switch" };
|
|
476980
|
+
const _hoisted_3$b = { class: "tools-grid" };
|
|
476981
|
+
const _hoisted_4$b = ["onClick"];
|
|
476982
|
+
const _hoisted_5$b = ["src"];
|
|
476911
476983
|
const _hoisted_6$9 = { class: "tool-label" };
|
|
476912
476984
|
const _hoisted_7$8 = {
|
|
476913
476985
|
key: 0,
|
|
476914
476986
|
class: "stop-drawing-section"
|
|
476915
476987
|
};
|
|
476916
|
-
const _sfc_main$
|
|
476988
|
+
const _sfc_main$d = {
|
|
476917
476989
|
__name: "MarkTab",
|
|
476918
476990
|
setup(__props) {
|
|
476919
476991
|
const mapRef = vue.inject("map");
|
|
@@ -477436,7 +477508,7 @@ ${this.attributes_.map(
|
|
|
477436
477508
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
477437
477509
|
const _component_el_switch = vue.resolveComponent("el-switch");
|
|
477438
477510
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
477439
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
477511
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
477440
477512
|
vue.createVNode(_component_el_select, {
|
|
477441
477513
|
modelValue: selectedType.value,
|
|
477442
477514
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedType.value = $event),
|
|
@@ -477454,7 +477526,7 @@ ${this.attributes_.map(
|
|
|
477454
477526
|
]),
|
|
477455
477527
|
_: 1
|
|
477456
477528
|
}, 8, ["modelValue"]),
|
|
477457
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477529
|
+
vue.createElementVNode("div", _hoisted_2$b, [
|
|
477458
477530
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "switch-label" }, "连续标绘模式", -1)),
|
|
477459
477531
|
vue.createVNode(_component_el_switch, {
|
|
477460
477532
|
modelValue: continuousDrawing.value,
|
|
@@ -477462,7 +477534,7 @@ ${this.attributes_.map(
|
|
|
477462
477534
|
size: "small"
|
|
477463
477535
|
}, null, 8, ["modelValue"])
|
|
477464
477536
|
]),
|
|
477465
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477537
|
+
vue.createElementVNode("div", _hoisted_3$b, [
|
|
477466
477538
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentTools.value, (tool, idx) => {
|
|
477467
477539
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
477468
477540
|
key: idx,
|
|
@@ -477474,12 +477546,12 @@ ${this.attributes_.map(
|
|
|
477474
477546
|
src: tool.icon,
|
|
477475
477547
|
class: "tool-image",
|
|
477476
477548
|
alt: "tool icon"
|
|
477477
|
-
}, null, 8, _hoisted_5$
|
|
477549
|
+
}, null, 8, _hoisted_5$b)) : (vue.openBlock(), vue.createElementBlock("i", {
|
|
477478
477550
|
key: 1,
|
|
477479
477551
|
class: vue.normalizeClass([tool.icon, "tool-icon-large"])
|
|
477480
477552
|
}, null, 2)),
|
|
477481
477553
|
vue.createElementVNode("span", _hoisted_6$9, vue.toDisplayString(tool.label), 1)
|
|
477482
|
-
], 8, _hoisted_4$
|
|
477554
|
+
], 8, _hoisted_4$b);
|
|
477483
477555
|
}), 128))
|
|
477484
477556
|
]),
|
|
477485
477557
|
activeDrawingTool.value && continuousDrawing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$8, [
|
|
@@ -477499,19 +477571,19 @@ ${this.attributes_.map(
|
|
|
477499
477571
|
};
|
|
477500
477572
|
}
|
|
477501
477573
|
};
|
|
477502
|
-
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477574
|
+
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-127b85ab"]]);
|
|
477503
477575
|
const ListTab_vue_vue_type_style_index_0_scoped_1cc008ea_lang = "";
|
|
477504
|
-
const _hoisted_1$
|
|
477505
|
-
const _hoisted_2$
|
|
477506
|
-
const _hoisted_3$
|
|
477507
|
-
const _hoisted_4$
|
|
477508
|
-
const _hoisted_5$
|
|
477576
|
+
const _hoisted_1$b = { class: "list-tab-container" };
|
|
477577
|
+
const _hoisted_2$a = { class: "toolbar" };
|
|
477578
|
+
const _hoisted_3$a = { class: "toolbar-left" };
|
|
477579
|
+
const _hoisted_4$a = { class: "data-count" };
|
|
477580
|
+
const _hoisted_5$a = { class: "list-content" };
|
|
477509
477581
|
const _hoisted_6$8 = { class: "tree-node" };
|
|
477510
477582
|
const _hoisted_7$7 = {
|
|
477511
477583
|
key: 1,
|
|
477512
477584
|
class: "empty-state"
|
|
477513
477585
|
};
|
|
477514
|
-
const _sfc_main$
|
|
477586
|
+
const _sfc_main$c = {
|
|
477515
477587
|
__name: "ListTab",
|
|
477516
477588
|
setup(__props) {
|
|
477517
477589
|
const groups = vue.ref([
|
|
@@ -477532,9 +477604,9 @@ ${this.attributes_.map(
|
|
|
477532
477604
|
return (_ctx, _cache) => {
|
|
477533
477605
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
477534
477606
|
const _component_el_tree = vue.resolveComponent("el-tree");
|
|
477535
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
477536
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477537
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477607
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
477608
|
+
vue.createElementVNode("div", _hoisted_2$a, [
|
|
477609
|
+
vue.createElementVNode("div", _hoisted_3$a, [
|
|
477538
477610
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "toolbar-title" }, "分组管理:", -1)),
|
|
477539
477611
|
vue.createVNode(_component_el_button, {
|
|
477540
477612
|
type: "primary",
|
|
@@ -477557,9 +477629,9 @@ ${this.attributes_.map(
|
|
|
477557
477629
|
_: 1
|
|
477558
477630
|
})
|
|
477559
477631
|
]),
|
|
477560
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
477632
|
+
vue.createElementVNode("div", _hoisted_4$a, "共" + vue.toDisplayString(groups.value.length) + "条数据", 1)
|
|
477561
477633
|
]),
|
|
477562
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
477634
|
+
vue.createElementVNode("div", _hoisted_5$a, [
|
|
477563
477635
|
groups.value.length ? (vue.openBlock(), vue.createBlock(_component_el_tree, {
|
|
477564
477636
|
key: 0,
|
|
477565
477637
|
data: groups.value,
|
|
@@ -477582,16 +477654,16 @@ ${this.attributes_.map(
|
|
|
477582
477654
|
};
|
|
477583
477655
|
}
|
|
477584
477656
|
};
|
|
477585
|
-
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477657
|
+
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-1cc008ea"]]);
|
|
477586
477658
|
const index_vue_vue_type_style_index_0_scoped_16fc7a81_lang = "";
|
|
477587
|
-
const _hoisted_1$
|
|
477588
|
-
const _hoisted_2$
|
|
477589
|
-
const _hoisted_3$
|
|
477590
|
-
const _hoisted_4$
|
|
477591
|
-
const _hoisted_5$
|
|
477659
|
+
const _hoisted_1$a = { class: "dialog-content" };
|
|
477660
|
+
const _hoisted_2$9 = { class: "toolbar" };
|
|
477661
|
+
const _hoisted_3$9 = { class: "toolbar-left" };
|
|
477662
|
+
const _hoisted_4$9 = ["onClick"];
|
|
477663
|
+
const _hoisted_5$9 = { class: "toolbar-right" };
|
|
477592
477664
|
const _hoisted_6$7 = ["onClick"];
|
|
477593
477665
|
const _hoisted_7$6 = { class: "content-area" };
|
|
477594
|
-
const _sfc_main$
|
|
477666
|
+
const _sfc_main$b = {
|
|
477595
477667
|
__name: "index",
|
|
477596
477668
|
setup(__props) {
|
|
477597
477669
|
const visible = vue.ref(true);
|
|
@@ -477653,9 +477725,9 @@ ${this.attributes_.map(
|
|
|
477653
477725
|
onClose: handleClose
|
|
477654
477726
|
}, {
|
|
477655
477727
|
default: vue.withCtx(() => [
|
|
477656
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
477657
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477658
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477728
|
+
vue.createElementVNode("div", _hoisted_1$a, [
|
|
477729
|
+
vue.createElementVNode("div", _hoisted_2$9, [
|
|
477730
|
+
vue.createElementVNode("div", _hoisted_3$9, [
|
|
477659
477731
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(leftTools, (tool, idx) => {
|
|
477660
477732
|
return vue.createVNode(_component_el_tooltip, {
|
|
477661
477733
|
key: idx,
|
|
@@ -477667,13 +477739,13 @@ ${this.attributes_.map(
|
|
|
477667
477739
|
vue.createElementVNode("i", {
|
|
477668
477740
|
class: vue.normalizeClass([tool.icon, "tool-icon"]),
|
|
477669
477741
|
onClick: ($event) => handleToolClick(tool, "left", idx)
|
|
477670
|
-
}, null, 10, _hoisted_4$
|
|
477742
|
+
}, null, 10, _hoisted_4$9)
|
|
477671
477743
|
]),
|
|
477672
477744
|
_: 2
|
|
477673
477745
|
}, 1032, ["content"]);
|
|
477674
477746
|
}), 64))
|
|
477675
477747
|
]),
|
|
477676
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
477748
|
+
vue.createElementVNode("div", _hoisted_5$9, [
|
|
477677
477749
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(rightTools, (tool, idx) => {
|
|
477678
477750
|
return vue.createVNode(_component_el_tooltip, {
|
|
477679
477751
|
key: idx,
|
|
@@ -477729,9 +477801,9 @@ ${this.attributes_.map(
|
|
|
477729
477801
|
};
|
|
477730
477802
|
}
|
|
477731
477803
|
};
|
|
477732
|
-
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477733
|
-
const _hoisted_1$
|
|
477734
|
-
const _sfc_main$
|
|
477804
|
+
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-16fc7a81"]]);
|
|
477805
|
+
const _hoisted_1$9 = { class: "flex" };
|
|
477806
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
477735
477807
|
__name: "MapToolbar",
|
|
477736
477808
|
props: {
|
|
477737
477809
|
config: { default: void 0 },
|
|
@@ -477922,7 +477994,7 @@ ${this.attributes_.map(
|
|
|
477922
477994
|
class: "main-menu-item"
|
|
477923
477995
|
}, {
|
|
477924
477996
|
title: vue.withCtx(() => [
|
|
477925
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
477997
|
+
vue.createElementVNode("div", _hoisted_1$9, [
|
|
477926
477998
|
vue.createElementVNode("div", null, [
|
|
477927
477999
|
vue.createVNode(_component_el_icon, null, {
|
|
477928
478000
|
default: vue.withCtx(() => [
|
|
@@ -478099,7 +478171,7 @@ ${this.attributes_.map(
|
|
|
478099
478171
|
]),
|
|
478100
478172
|
_: 1
|
|
478101
478173
|
}, 8, ["default-active"]),
|
|
478102
|
-
vue.createVNode(_sfc_main$
|
|
478174
|
+
vue.createVNode(_sfc_main$k, {
|
|
478103
478175
|
modelValue: showBasemapPanel.value,
|
|
478104
478176
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showBasemapPanel.value = $event),
|
|
478105
478177
|
config: props.config,
|
|
@@ -478110,28 +478182,28 @@ ${this.attributes_.map(
|
|
|
478110
478182
|
modelValue: showMeasurement.value,
|
|
478111
478183
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showMeasurement.value = $event)
|
|
478112
478184
|
}, null, 8, ["modelValue"]),
|
|
478113
|
-
vue.createVNode(_sfc_main$
|
|
478185
|
+
vue.createVNode(_sfc_main$i, {
|
|
478114
478186
|
ref_key: "coordinateLocationDialogRef",
|
|
478115
478187
|
ref: coordinateLocationDialogRef,
|
|
478116
478188
|
modelValue: showCoordinateLocation.value,
|
|
478117
478189
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => showCoordinateLocation.value = $event)
|
|
478118
478190
|
}, null, 8, ["modelValue"]),
|
|
478119
|
-
vue.createVNode(_sfc_main$
|
|
478191
|
+
vue.createVNode(_sfc_main$h, {
|
|
478120
478192
|
modelValue: showRegionNavigation.value,
|
|
478121
478193
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showRegionNavigation.value = $event),
|
|
478122
478194
|
onNavigationAction: handleNavigationAction
|
|
478123
478195
|
}, null, 8, ["modelValue"]),
|
|
478124
|
-
vue.createVNode(_sfc_main$
|
|
478196
|
+
vue.createVNode(_sfc_main$g, {
|
|
478125
478197
|
modelValue: showMyMarkers.value,
|
|
478126
478198
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showMyMarkers.value = $event),
|
|
478127
478199
|
onMarkerAction: handleMarkerAction
|
|
478128
478200
|
}, null, 8, ["modelValue"]),
|
|
478129
|
-
vue.createVNode(_sfc_main$
|
|
478201
|
+
vue.createVNode(_sfc_main$f, {
|
|
478130
478202
|
modelValue: showViewBookmarks.value,
|
|
478131
478203
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showViewBookmarks.value = $event),
|
|
478132
478204
|
onBookmarkAction: handleBookmarkAction
|
|
478133
478205
|
}, null, 8, ["modelValue"]),
|
|
478134
|
-
vue.createVNode(_sfc_main$
|
|
478206
|
+
vue.createVNode(_sfc_main$e, {
|
|
478135
478207
|
modelValue: showMapPrint.value,
|
|
478136
478208
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showMapPrint.value = $event),
|
|
478137
478209
|
onPrintAction: handlePrintAction
|
|
@@ -478146,7 +478218,7 @@ ${this.attributes_.map(
|
|
|
478146
478218
|
}
|
|
478147
478219
|
});
|
|
478148
478220
|
const MapToolbar_vue_vue_type_style_index_0_scoped_f8ee8458_lang = "";
|
|
478149
|
-
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
478221
|
+
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-f8ee8458"]]);
|
|
478150
478222
|
const TIANDITU_CONFIG = {
|
|
478151
478223
|
baseUrl: "https://api.tianditu.gov.cn/v2/search",
|
|
478152
478224
|
key: "9a7244dd5d1a1299a52946a3d0f8ff68"
|
|
@@ -478806,14 +478878,14 @@ ${this.attributes_.map(
|
|
|
478806
478878
|
MapSearchService,
|
|
478807
478879
|
defaultSearchConfig
|
|
478808
478880
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
478809
|
-
const _hoisted_1$
|
|
478810
|
-
const _hoisted_2$
|
|
478811
|
-
const _hoisted_3$
|
|
478881
|
+
const _hoisted_1$8 = { class: "search-input-wrapper" };
|
|
478882
|
+
const _hoisted_2$8 = { class: "search-results" };
|
|
478883
|
+
const _hoisted_3$8 = {
|
|
478812
478884
|
key: 0,
|
|
478813
478885
|
class: "search-section"
|
|
478814
478886
|
};
|
|
478815
|
-
const _hoisted_4$
|
|
478816
|
-
const _hoisted_5$
|
|
478887
|
+
const _hoisted_4$8 = { class: "section-title" };
|
|
478888
|
+
const _hoisted_5$8 = ["onClick"];
|
|
478817
478889
|
const _hoisted_6$6 = { class: "item-content" };
|
|
478818
478890
|
const _hoisted_7$5 = { class: "item-name" };
|
|
478819
478891
|
const _hoisted_8$5 = { class: "item-address" };
|
|
@@ -478842,7 +478914,7 @@ ${this.attributes_.map(
|
|
|
478842
478914
|
key: 0,
|
|
478843
478915
|
class: "no-results"
|
|
478844
478916
|
};
|
|
478845
|
-
const _sfc_main$
|
|
478917
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
478846
478918
|
__name: "MapSearch",
|
|
478847
478919
|
props: {
|
|
478848
478920
|
config: { default: () => ({
|
|
@@ -479087,7 +479159,7 @@ ${this.attributes_.map(
|
|
|
479087
479159
|
class: vue.normalizeClass(["map-search-container", [`position-${position2.value}`, { "search-active": isSearchActive.value }]])
|
|
479088
479160
|
}, [
|
|
479089
479161
|
vue.renderSlot(_ctx.$slots, "prepend"),
|
|
479090
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
479162
|
+
vue.createElementVNode("div", _hoisted_1$8, [
|
|
479091
479163
|
vue.renderSlot(_ctx.$slots, "search-input", {
|
|
479092
479164
|
searchQuery: searchQuery.value,
|
|
479093
479165
|
placeholder: placeholder.value,
|
|
@@ -479143,7 +479215,7 @@ ${this.attributes_.map(
|
|
|
479143
479215
|
}, 8, ["modelValue", "placeholder"])
|
|
479144
479216
|
])
|
|
479145
479217
|
]),
|
|
479146
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
479218
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$8, [
|
|
479147
479219
|
vue.renderSlot(_ctx.$slots, "search-results", {
|
|
479148
479220
|
searchResults: searchResults.value,
|
|
479149
479221
|
searchHistory: searchHistory.value,
|
|
@@ -479155,9 +479227,9 @@ ${this.attributes_.map(
|
|
|
479155
479227
|
clearHistory,
|
|
479156
479228
|
highlightText
|
|
479157
479229
|
}, () => [
|
|
479158
|
-
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
479230
|
+
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
|
|
479159
479231
|
vue.renderSlot(_ctx.$slots, "history-title", { clearHistory }, () => [
|
|
479160
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
479232
|
+
vue.createElementVNode("div", _hoisted_4$8, [
|
|
479161
479233
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", null, "搜索历史", -1)),
|
|
479162
479234
|
vue.createVNode(vue.unref(ElButton), {
|
|
479163
479235
|
type: "text",
|
|
@@ -479193,7 +479265,7 @@ ${this.attributes_.map(
|
|
|
479193
479265
|
vue.createElementVNode("div", _hoisted_7$5, vue.toDisplayString(item.name), 1),
|
|
479194
479266
|
vue.createElementVNode("div", _hoisted_8$5, vue.toDisplayString(item.address), 1)
|
|
479195
479267
|
])
|
|
479196
|
-
], 10, _hoisted_5$
|
|
479268
|
+
], 10, _hoisted_5$8)
|
|
479197
479269
|
]);
|
|
479198
479270
|
}), 128))
|
|
479199
479271
|
])) : vue.createCommentVNode("", true),
|
|
@@ -479268,7 +479340,7 @@ ${this.attributes_.map(
|
|
|
479268
479340
|
}
|
|
479269
479341
|
});
|
|
479270
479342
|
const MapSearch_vue_vue_type_style_index_0_lang = "";
|
|
479271
|
-
const _sfc_main$
|
|
479343
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
479272
479344
|
__name: "index",
|
|
479273
479345
|
props: {
|
|
479274
479346
|
config: {},
|
|
@@ -479815,12 +479887,12 @@ ${this.attributes_.map(
|
|
|
479815
479887
|
}
|
|
479816
479888
|
});
|
|
479817
479889
|
const index_vue_vue_type_style_index_0_scoped_45410a30_lang = "";
|
|
479818
|
-
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
479819
|
-
const _hoisted_1$
|
|
479820
|
-
const _hoisted_2$
|
|
479821
|
-
const _hoisted_3$
|
|
479822
|
-
const _hoisted_4$
|
|
479823
|
-
const _hoisted_5$
|
|
479890
|
+
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-45410a30"]]);
|
|
479891
|
+
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" };
|
|
479892
|
+
const _hoisted_2$7 = { class: "panel-actions" };
|
|
479893
|
+
const _hoisted_3$7 = { class: "panel-content max-h-125 overflow-y-auto" };
|
|
479894
|
+
const _hoisted_4$7 = { class: "p-2" };
|
|
479895
|
+
const _hoisted_5$7 = { class: "legend-content p-2" };
|
|
479824
479896
|
const _hoisted_6$5 = { key: 0 };
|
|
479825
479897
|
const _hoisted_7$4 = { class: "text-xs text-gray-600" };
|
|
479826
479898
|
const _hoisted_8$4 = { key: 1 };
|
|
@@ -479851,7 +479923,7 @@ ${this.attributes_.map(
|
|
|
479851
479923
|
key: 1,
|
|
479852
479924
|
class: "py-10 px-5 text-center"
|
|
479853
479925
|
};
|
|
479854
|
-
const _sfc_main$
|
|
479926
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
479855
479927
|
__name: "LegendPanel",
|
|
479856
479928
|
props: {
|
|
479857
479929
|
position: { default: "right" },
|
|
@@ -480061,9 +480133,9 @@ ${this.attributes_.map(
|
|
|
480061
480133
|
class: vue.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 }]),
|
|
480062
480134
|
style: vue.normalizeStyle(panelStyle.value)
|
|
480063
480135
|
}, [
|
|
480064
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
480136
|
+
vue.createElementVNode("div", _hoisted_1$7, [
|
|
480065
480137
|
_cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "m-0 text-sm font-semibold text-gray-800" }, "图例", -1)),
|
|
480066
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
480138
|
+
vue.createElementVNode("div", _hoisted_2$7, [
|
|
480067
480139
|
vue.createVNode(_component_el_button, {
|
|
480068
480140
|
link: "",
|
|
480069
480141
|
size: "small",
|
|
@@ -480072,8 +480144,8 @@ ${this.attributes_.map(
|
|
|
480072
480144
|
}, null, 8, ["icon"])
|
|
480073
480145
|
])
|
|
480074
480146
|
]),
|
|
480075
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
480076
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
480147
|
+
vue.createElementVNode("div", _hoisted_3$7, [
|
|
480148
|
+
vue.createElementVNode("div", _hoisted_4$7, [
|
|
480077
480149
|
visibleLegends.value.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_collapse, {
|
|
480078
480150
|
key: 0,
|
|
480079
480151
|
modelValue: activeNames.value,
|
|
@@ -480089,7 +480161,7 @@ ${this.attributes_.map(
|
|
|
480089
480161
|
class: "legend-item"
|
|
480090
480162
|
}, {
|
|
480091
480163
|
default: vue.withCtx(() => [
|
|
480092
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
480164
|
+
vue.createElementVNode("div", _hoisted_5$7, [
|
|
480093
480165
|
legend.type === "symbol" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$5, [
|
|
480094
480166
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
|
|
480095
480167
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -481297,11 +481369,11 @@ ${this.attributes_.map(
|
|
|
481297
481369
|
console.log("批量更新结果:", results);
|
|
481298
481370
|
}
|
|
481299
481371
|
}
|
|
481300
|
-
const _hoisted_1$
|
|
481301
|
-
const _hoisted_2$
|
|
481302
|
-
const _hoisted_3$
|
|
481303
|
-
const _hoisted_4$
|
|
481304
|
-
const _hoisted_5$
|
|
481372
|
+
const _hoisted_1$6 = { class: "filter-panel" };
|
|
481373
|
+
const _hoisted_2$6 = { class: "config-section" };
|
|
481374
|
+
const _hoisted_3$6 = { class: "config-item" };
|
|
481375
|
+
const _hoisted_4$6 = { class: "value-text" };
|
|
481376
|
+
const _hoisted_5$6 = { class: "config-item" };
|
|
481305
481377
|
const _hoisted_6$4 = { class: "value-text" };
|
|
481306
481378
|
const _hoisted_7$3 = { class: "config-item" };
|
|
481307
481379
|
const _hoisted_8$3 = { class: "value-text" };
|
|
@@ -481318,7 +481390,7 @@ ${this.attributes_.map(
|
|
|
481318
481390
|
const _hoisted_19 = { class: "value-text" };
|
|
481319
481391
|
const _hoisted_20 = { class: "config-section" };
|
|
481320
481392
|
const _hoisted_21 = { class: "preset-buttons" };
|
|
481321
|
-
const _sfc_main$
|
|
481393
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
481322
481394
|
__name: "FilterPanel",
|
|
481323
481395
|
props: {
|
|
481324
481396
|
filters: {}
|
|
@@ -481338,10 +481410,10 @@ ${this.attributes_.map(
|
|
|
481338
481410
|
return (_ctx, _cache) => {
|
|
481339
481411
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
|
481340
481412
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
481341
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
481342
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
481413
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
|
|
481414
|
+
vue.createElementVNode("div", _hoisted_2$6, [
|
|
481343
481415
|
_cache[15] || (_cache[15] = vue.createElementVNode("h5", null, "色彩调整", -1)),
|
|
481344
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
481416
|
+
vue.createElementVNode("div", _hoisted_3$6, [
|
|
481345
481417
|
_cache[11] || (_cache[11] = vue.createElementVNode("label", null, "色相:", -1)),
|
|
481346
481418
|
vue.createVNode(_component_el_slider, {
|
|
481347
481419
|
modelValue: _ctx.filters.hue,
|
|
@@ -481351,9 +481423,9 @@ ${this.attributes_.map(
|
|
|
481351
481423
|
step: 1,
|
|
481352
481424
|
onInput: handleFilterChange
|
|
481353
481425
|
}, null, 8, ["modelValue"]),
|
|
481354
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
481426
|
+
vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(_ctx.filters.hue) + "°", 1)
|
|
481355
481427
|
]),
|
|
481356
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
481428
|
+
vue.createElementVNode("div", _hoisted_5$6, [
|
|
481357
481429
|
_cache[12] || (_cache[12] = vue.createElementVNode("label", null, "饱和度:", -1)),
|
|
481358
481430
|
vue.createVNode(_component_el_slider, {
|
|
481359
481431
|
modelValue: _ctx.filters.saturate,
|
|
@@ -481489,14 +481561,14 @@ ${this.attributes_.map(
|
|
|
481489
481561
|
}
|
|
481490
481562
|
});
|
|
481491
481563
|
const FilterPanel_vue_vue_type_style_index_0_lang = "";
|
|
481492
|
-
const _hoisted_1$
|
|
481493
|
-
const _hoisted_2$
|
|
481494
|
-
const _hoisted_3$
|
|
481564
|
+
const _hoisted_1$5 = { class: "style-config-panel" };
|
|
481565
|
+
const _hoisted_2$5 = { class: "panel-title" };
|
|
481566
|
+
const _hoisted_3$5 = {
|
|
481495
481567
|
key: 0,
|
|
481496
481568
|
class: "config-section"
|
|
481497
481569
|
};
|
|
481498
|
-
const _hoisted_4$
|
|
481499
|
-
const _hoisted_5$
|
|
481570
|
+
const _hoisted_4$5 = { class: "config-item" };
|
|
481571
|
+
const _hoisted_5$5 = { class: "value-text" };
|
|
481500
481572
|
const _hoisted_6$3 = { class: "config-item" };
|
|
481501
481573
|
const _hoisted_7$2 = { class: "value-text" };
|
|
481502
481574
|
const _hoisted_8$2 = {
|
|
@@ -481508,7 +481580,7 @@ ${this.attributes_.map(
|
|
|
481508
481580
|
const _hoisted_11$1 = { class: "config-item" };
|
|
481509
481581
|
const _hoisted_12$1 = { class: "config-item" };
|
|
481510
481582
|
const _hoisted_13$1 = { class: "panel-actions" };
|
|
481511
|
-
const _sfc_main$
|
|
481583
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
481512
481584
|
__name: "LayerStyleConfig",
|
|
481513
481585
|
props: {
|
|
481514
481586
|
layerData: {}
|
|
@@ -481539,11 +481611,11 @@ ${this.attributes_.map(
|
|
|
481539
481611
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
481540
481612
|
const _component_el_switch = vue.resolveComponent("el-switch");
|
|
481541
481613
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
481542
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
481543
|
-
vue.createElementVNode("h4", _hoisted_2$
|
|
481544
|
-
isClusterLayer.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
481614
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
|
|
481615
|
+
vue.createElementVNode("h4", _hoisted_2$5, vue.toDisplayString(_ctx.layerData.label) + " - 样式配置", 1),
|
|
481616
|
+
isClusterLayer.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [
|
|
481545
481617
|
_cache[8] || (_cache[8] = vue.createElementVNode("h5", null, "聚合配置", -1)),
|
|
481546
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
481618
|
+
vue.createElementVNode("div", _hoisted_4$5, [
|
|
481547
481619
|
_cache[6] || (_cache[6] = vue.createElementVNode("label", null, "聚合距离:", -1)),
|
|
481548
481620
|
vue.createVNode(_component_el_slider, {
|
|
481549
481621
|
modelValue: _ctx.layerData.clusterDistance,
|
|
@@ -481553,7 +481625,7 @@ ${this.attributes_.map(
|
|
|
481553
481625
|
size: "small",
|
|
481554
481626
|
onInput: handleClusterDistanceChange
|
|
481555
481627
|
}, null, 8, ["modelValue"]),
|
|
481556
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
481628
|
+
vue.createElementVNode("span", _hoisted_5$5, vue.toDisplayString(_ctx.layerData.clusterDistance) + "px", 1)
|
|
481557
481629
|
]),
|
|
481558
481630
|
vue.createElementVNode("div", _hoisted_6$3, [
|
|
481559
481631
|
_cache[7] || (_cache[7] = vue.createElementVNode("label", null, "最小距离:", -1)),
|
|
@@ -481639,12 +481711,12 @@ ${this.attributes_.map(
|
|
|
481639
481711
|
}
|
|
481640
481712
|
});
|
|
481641
481713
|
const LayerStyleConfig_vue_vue_type_style_index_0_lang = "";
|
|
481642
|
-
const _hoisted_1$
|
|
481643
|
-
const _hoisted_2$
|
|
481644
|
-
const _hoisted_3$
|
|
481645
|
-
const _hoisted_4$
|
|
481646
|
-
const _hoisted_5$
|
|
481647
|
-
const _sfc_main$
|
|
481714
|
+
const _hoisted_1$4 = { class: "font-medium" };
|
|
481715
|
+
const _hoisted_2$4 = { class: "layer-info" };
|
|
481716
|
+
const _hoisted_3$4 = { class: "layer-name" };
|
|
481717
|
+
const _hoisted_4$4 = { class: "opacity-control" };
|
|
481718
|
+
const _hoisted_5$4 = { class: "opacity-value" };
|
|
481719
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
481648
481720
|
__name: "LayerTreeNode",
|
|
481649
481721
|
props: {
|
|
481650
481722
|
data: {},
|
|
@@ -481696,7 +481768,7 @@ ${this.attributes_.map(
|
|
|
481696
481768
|
]),
|
|
481697
481769
|
_: 1
|
|
481698
481770
|
}),
|
|
481699
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
481771
|
+
vue.createElementVNode("span", _hoisted_1$4, vue.toDisplayString(_ctx.data.label), 1)
|
|
481700
481772
|
], 32)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
481701
481773
|
key: 1,
|
|
481702
481774
|
class: "layer-item",
|
|
@@ -481704,7 +481776,7 @@ ${this.attributes_.map(
|
|
|
481704
481776
|
onClick: _cache[5] || (_cache[5] = vue.withModifiers(() => {
|
|
481705
481777
|
}, ["stop"]))
|
|
481706
481778
|
}, [
|
|
481707
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
481779
|
+
vue.createElementVNode("div", _hoisted_2$4, [
|
|
481708
481780
|
vue.createVNode(_component_el_icon, {
|
|
481709
481781
|
class: vue.normalizeClass(["layer-icon", layerIconClass.value])
|
|
481710
481782
|
}, {
|
|
@@ -481713,7 +481785,7 @@ ${this.attributes_.map(
|
|
|
481713
481785
|
]),
|
|
481714
481786
|
_: 1
|
|
481715
481787
|
}, 8, ["class"]),
|
|
481716
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
481788
|
+
vue.createElementVNode("span", _hoisted_3$4, vue.toDisplayString(_ctx.data.label), 1)
|
|
481717
481789
|
]),
|
|
481718
481790
|
vue.createElementVNode("div", {
|
|
481719
481791
|
class: "layer-controls",
|
|
@@ -481724,7 +481796,7 @@ ${this.attributes_.map(
|
|
|
481724
481796
|
onDblclick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
|
|
481725
481797
|
}, ["stop"]))
|
|
481726
481798
|
}, [
|
|
481727
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
481799
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
481728
481800
|
vue.createVNode(_component_el_slider, {
|
|
481729
481801
|
modelValue: _ctx.data.layerData.opacity,
|
|
481730
481802
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.data.layerData.opacity = $event),
|
|
@@ -481734,7 +481806,7 @@ ${this.attributes_.map(
|
|
|
481734
481806
|
class: "opacity-slider",
|
|
481735
481807
|
onInput: handleOpacityChange
|
|
481736
481808
|
}, null, 8, ["modelValue"]),
|
|
481737
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
481809
|
+
vue.createElementVNode("span", _hoisted_5$4, vue.toDisplayString(_ctx.data.layerData.opacity) + "%", 1)
|
|
481738
481810
|
]),
|
|
481739
481811
|
vue.createVNode(_component_el_popover, {
|
|
481740
481812
|
placement: "left",
|
|
@@ -481763,7 +481835,7 @@ ${this.attributes_.map(
|
|
|
481763
481835
|
})
|
|
481764
481836
|
]),
|
|
481765
481837
|
default: vue.withCtx(() => [
|
|
481766
|
-
vue.createVNode(_sfc_main$
|
|
481838
|
+
vue.createVNode(_sfc_main$5, {
|
|
481767
481839
|
"layer-data": _ctx.data.layerData,
|
|
481768
481840
|
onClusterDistanceChange: handleClusterDistanceChange,
|
|
481769
481841
|
onSuperMapConfigChange: handleSuperMapConfigChange,
|
|
@@ -481779,15 +481851,15 @@ ${this.attributes_.map(
|
|
|
481779
481851
|
}
|
|
481780
481852
|
});
|
|
481781
481853
|
const LayerTreeNode_vue_vue_type_style_index_0_lang = "";
|
|
481782
|
-
const _hoisted_1$
|
|
481783
|
-
const _hoisted_2$
|
|
481784
|
-
const _hoisted_3$
|
|
481785
|
-
const _hoisted_4$
|
|
481786
|
-
const _hoisted_5$
|
|
481854
|
+
const _hoisted_1$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
481855
|
+
const _hoisted_2$3 = { class: "pb-2 flex items-center justify-between" };
|
|
481856
|
+
const _hoisted_3$3 = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
|
|
481857
|
+
const _hoisted_4$3 = { class: "global-style-panel" };
|
|
481858
|
+
const _hoisted_5$3 = { class: "config-section" };
|
|
481787
481859
|
const _hoisted_6$2 = { class: "config-item" };
|
|
481788
481860
|
const _hoisted_7$1 = { class: "current-style-display" };
|
|
481789
481861
|
const _hoisted_8$1 = { class: "style-preview" };
|
|
481790
|
-
const _sfc_main$
|
|
481862
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
481791
481863
|
__name: "LayerPanel",
|
|
481792
481864
|
props: {
|
|
481793
481865
|
modelValue: { type: Boolean }
|
|
@@ -482625,7 +482697,7 @@ ${this.attributes_.map(
|
|
|
482625
482697
|
const _component_el_tree = vue.resolveComponent("el-tree");
|
|
482626
482698
|
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
|
|
482627
482699
|
const _component_el_tabs = vue.resolveComponent("el-tabs");
|
|
482628
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
482700
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, vue.mergeProps({
|
|
482629
482701
|
modelValue: visible.value,
|
|
482630
482702
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
|
|
482631
482703
|
}, dialogProps.value, { onClose: handleClose }), vue.createSlots({
|
|
@@ -482663,8 +482735,8 @@ ${this.attributes_.map(
|
|
|
482663
482735
|
name: "layers"
|
|
482664
482736
|
}, {
|
|
482665
482737
|
default: vue.withCtx(() => [
|
|
482666
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
482667
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
482738
|
+
vue.createElementVNode("div", _hoisted_1$3, [
|
|
482739
|
+
vue.createElementVNode("div", _hoisted_2$3, [
|
|
482668
482740
|
_cache[7] || (_cache[7] = vue.createElementVNode("div", { class: "text-sm text-gray-600" }, "树形视图", -1)),
|
|
482669
482741
|
vue.createVNode(_component_el_radio_group, {
|
|
482670
482742
|
modelValue: activeTreeType.value,
|
|
@@ -482710,7 +482782,7 @@ ${this.attributes_.map(
|
|
|
482710
482782
|
class: "layer-tree"
|
|
482711
482783
|
}, {
|
|
482712
482784
|
default: vue.withCtx(({ node: node2, data: data2 }) => [
|
|
482713
|
-
vue.createVNode(_sfc_main$
|
|
482785
|
+
vue.createVNode(_sfc_main$4, {
|
|
482714
482786
|
data: data2,
|
|
482715
482787
|
"layer-tree-manager": vue.unref(layerTreeManager),
|
|
482716
482788
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -482726,7 +482798,7 @@ ${this.attributes_.map(
|
|
|
482726
482798
|
key: group2.id,
|
|
482727
482799
|
class: "mb-3"
|
|
482728
482800
|
}, [
|
|
482729
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
482801
|
+
vue.createElementVNode("div", _hoisted_3$3, vue.toDisplayString(group2.name), 1),
|
|
482730
482802
|
vue.createVNode(_component_el_tree, {
|
|
482731
482803
|
ref_for: true,
|
|
482732
482804
|
ref: (el) => classificationTreeRefs.value[group2.id] = el,
|
|
@@ -482748,7 +482820,7 @@ ${this.attributes_.map(
|
|
|
482748
482820
|
class: "layer-tree"
|
|
482749
482821
|
}, {
|
|
482750
482822
|
default: vue.withCtx(({ node: node2, data: data2 }) => [
|
|
482751
|
-
vue.createVNode(_sfc_main$
|
|
482823
|
+
vue.createVNode(_sfc_main$4, {
|
|
482752
482824
|
data: data2,
|
|
482753
482825
|
"layer-tree-manager": vue.unref(layerTreeManager),
|
|
482754
482826
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -482771,7 +482843,7 @@ ${this.attributes_.map(
|
|
|
482771
482843
|
name: "style"
|
|
482772
482844
|
}, {
|
|
482773
482845
|
default: vue.withCtx(() => [
|
|
482774
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
482846
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
482775
482847
|
vue.createVNode(_component_el_tabs, {
|
|
482776
482848
|
modelValue: activeStyleTab.value,
|
|
482777
482849
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => activeStyleTab.value = $event),
|
|
@@ -482783,7 +482855,7 @@ ${this.attributes_.map(
|
|
|
482783
482855
|
name: "filters"
|
|
482784
482856
|
}, {
|
|
482785
482857
|
default: vue.withCtx(() => [
|
|
482786
|
-
vue.createVNode(_sfc_main$
|
|
482858
|
+
vue.createVNode(_sfc_main$6, {
|
|
482787
482859
|
filters: vue.unref(globalFilters),
|
|
482788
482860
|
onFilterChange: applyFilterEffect,
|
|
482789
482861
|
onReset: resetFilters,
|
|
@@ -482797,7 +482869,7 @@ ${this.attributes_.map(
|
|
|
482797
482869
|
name: "custom"
|
|
482798
482870
|
}, {
|
|
482799
482871
|
default: vue.withCtx(() => [
|
|
482800
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
482872
|
+
vue.createElementVNode("div", _hoisted_5$3, [
|
|
482801
482873
|
vue.createElementVNode("div", _hoisted_6$2, [
|
|
482802
482874
|
vue.createVNode(vue.unref(ElInput), {
|
|
482803
482875
|
modelValue: vue.unref(globalCustomCss),
|
|
@@ -482869,6 +482941,151 @@ ${this.attributes_.map(
|
|
|
482869
482941
|
}
|
|
482870
482942
|
});
|
|
482871
482943
|
const LayerPanel_vue_vue_type_style_index_0_lang = "";
|
|
482944
|
+
const _hoisted_1$2 = { class: "layer-panel" };
|
|
482945
|
+
const _hoisted_2$2 = ["onClick"];
|
|
482946
|
+
const _hoisted_3$2 = ["title"];
|
|
482947
|
+
const _hoisted_4$2 = {
|
|
482948
|
+
key: 0,
|
|
482949
|
+
class: "active-border"
|
|
482950
|
+
};
|
|
482951
|
+
const _hoisted_5$2 = { class: "layer-name" };
|
|
482952
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
482953
|
+
__name: "OlBaseLayerSwitcher",
|
|
482954
|
+
props: {
|
|
482955
|
+
map: {},
|
|
482956
|
+
baseLayers: {}
|
|
482957
|
+
},
|
|
482958
|
+
setup(__props) {
|
|
482959
|
+
const props = __props;
|
|
482960
|
+
const expand = vue.ref(false);
|
|
482961
|
+
const validBaseLayers = vue.computed(() => {
|
|
482962
|
+
return props.baseLayers.filter((layer2) => layer2.baseImgUrl && layer2.baseImgUrl.trim() !== "");
|
|
482963
|
+
});
|
|
482964
|
+
const containerStyle = vue.computed(() => {
|
|
482965
|
+
if (!expand.value) {
|
|
482966
|
+
return { width: "96px" };
|
|
482967
|
+
}
|
|
482968
|
+
const count2 = validBaseLayers.value.length;
|
|
482969
|
+
if (count2 === 0)
|
|
482970
|
+
return { width: "96px" };
|
|
482971
|
+
const width = count2 * 86 + (count2 - 1) * 10 + 10;
|
|
482972
|
+
return { width: `${width}px` };
|
|
482973
|
+
});
|
|
482974
|
+
const currentLayer = vue.ref(null);
|
|
482975
|
+
vue.watch(() => props.baseLayers, (layers) => {
|
|
482976
|
+
if (!currentLayer.value) {
|
|
482977
|
+
const visibleLayer = layers.find((l2) => l2.visible && l2.baseImgUrl);
|
|
482978
|
+
if (visibleLayer) {
|
|
482979
|
+
currentLayer.value = visibleLayer;
|
|
482980
|
+
} else if (validBaseLayers.value.length > 0) {
|
|
482981
|
+
currentLayer.value = validBaseLayers.value[0];
|
|
482982
|
+
}
|
|
482983
|
+
}
|
|
482984
|
+
}, { deep: true, immediate: true });
|
|
482985
|
+
const switchLayer = (targetLayer) => {
|
|
482986
|
+
if (!props.map)
|
|
482987
|
+
return;
|
|
482988
|
+
currentLayer.value = targetLayer;
|
|
482989
|
+
layerEventBus.emit("basemap-switch-request", {
|
|
482990
|
+
basemapId: targetLayer.id,
|
|
482991
|
+
basemapName: targetLayer.name,
|
|
482992
|
+
basemapType: targetLayer.type,
|
|
482993
|
+
basemapConfig: targetLayer
|
|
482994
|
+
});
|
|
482995
|
+
props.baseLayers.forEach((layerConfig) => {
|
|
482996
|
+
const isVisible2 = layerConfig.id === targetLayer.id;
|
|
482997
|
+
setLayerVisibility(layerConfig, isVisible2);
|
|
482998
|
+
});
|
|
482999
|
+
expand.value = false;
|
|
483000
|
+
};
|
|
483001
|
+
const setLayerVisibility = (config, visible) => {
|
|
483002
|
+
config.visible = visible;
|
|
483003
|
+
if (config.type === "group") {
|
|
483004
|
+
if (config.layers) {
|
|
483005
|
+
config.layers.forEach((child) => setLayerVisibility(child, visible));
|
|
483006
|
+
}
|
|
483007
|
+
if (config.children) {
|
|
483008
|
+
config.children.forEach((child) => setLayerVisibility(child, visible));
|
|
483009
|
+
}
|
|
483010
|
+
}
|
|
483011
|
+
if (config.id) {
|
|
483012
|
+
const layer2 = findLayerById(props.map, config.id);
|
|
483013
|
+
if (layer2) {
|
|
483014
|
+
layer2.setVisible(visible);
|
|
483015
|
+
}
|
|
483016
|
+
}
|
|
483017
|
+
};
|
|
483018
|
+
const findLayerById = (map2, id2) => {
|
|
483019
|
+
const layers = map2.getLayers().getArray();
|
|
483020
|
+
return findLayerRecursive(layers, id2);
|
|
483021
|
+
};
|
|
483022
|
+
const findLayerRecursive = (layers, id2) => {
|
|
483023
|
+
for (const layer2 of layers) {
|
|
483024
|
+
if (layer2.get("id") === id2) {
|
|
483025
|
+
return layer2;
|
|
483026
|
+
}
|
|
483027
|
+
if (layer2.getLayers && typeof layer2.getLayers === "function") {
|
|
483028
|
+
const found = findLayerRecursive(layer2.getLayers().getArray(), id2);
|
|
483029
|
+
if (found)
|
|
483030
|
+
return found;
|
|
483031
|
+
}
|
|
483032
|
+
}
|
|
483033
|
+
return null;
|
|
483034
|
+
};
|
|
483035
|
+
return (_ctx, _cache) => {
|
|
483036
|
+
var _a3, _b3;
|
|
483037
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
483038
|
+
class: vue.normalizeClass(["ol-base-layer-switcher", { "is-expanded": expand.value }]),
|
|
483039
|
+
style: vue.normalizeStyle(containerStyle.value),
|
|
483040
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => expand.value = true),
|
|
483041
|
+
onMouseleave: _cache[1] || (_cache[1] = ($event) => expand.value = false)
|
|
483042
|
+
}, [
|
|
483043
|
+
vue.createElementVNode("div", _hoisted_1$2, [
|
|
483044
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(validBaseLayers.value, (layer2) => {
|
|
483045
|
+
var _a4, _b4;
|
|
483046
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
483047
|
+
key: layer2.id,
|
|
483048
|
+
class: vue.normalizeClass(["layer-item", { active: ((_a4 = currentLayer.value) == null ? void 0 : _a4.id) === layer2.id }]),
|
|
483049
|
+
onClick: ($event) => switchLayer(layer2),
|
|
483050
|
+
style: vue.normalizeStyle({ backgroundImage: `url(${layer2.baseImgUrl})` })
|
|
483051
|
+
}, [
|
|
483052
|
+
vue.createElementVNode("div", {
|
|
483053
|
+
class: "layer-name",
|
|
483054
|
+
title: layer2.name
|
|
483055
|
+
}, vue.toDisplayString(layer2.name), 9, _hoisted_3$2),
|
|
483056
|
+
((_b4 = currentLayer.value) == null ? void 0 : _b4.id) === layer2.id ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [..._cache[2] || (_cache[2] = [
|
|
483057
|
+
vue.createElementVNode("div", { class: "check-icon" }, [
|
|
483058
|
+
vue.createElementVNode("svg", {
|
|
483059
|
+
viewBox: "0 0 1024 1024",
|
|
483060
|
+
width: "16",
|
|
483061
|
+
height: "16"
|
|
483062
|
+
}, [
|
|
483063
|
+
vue.createElementVNode("path", {
|
|
483064
|
+
d: "M384 725.333333l-192-192 64-64 128 128 320-320 64 64z",
|
|
483065
|
+
fill: "#fff"
|
|
483066
|
+
})
|
|
483067
|
+
])
|
|
483068
|
+
], -1)
|
|
483069
|
+
])])) : vue.createCommentVNode("", true)
|
|
483070
|
+
], 14, _hoisted_2$2);
|
|
483071
|
+
}), 128))
|
|
483072
|
+
]),
|
|
483073
|
+
vue.createElementVNode("div", {
|
|
483074
|
+
class: vue.normalizeClass(["layer-trigger", { "is-hidden": expand.value }])
|
|
483075
|
+
}, [
|
|
483076
|
+
vue.createElementVNode("div", {
|
|
483077
|
+
class: "current-layer-box",
|
|
483078
|
+
style: vue.normalizeStyle({ backgroundImage: `url(${(_a3 = currentLayer.value) == null ? void 0 : _a3.baseImgUrl})` })
|
|
483079
|
+
}, [
|
|
483080
|
+
vue.createElementVNode("div", _hoisted_5$2, vue.toDisplayString((_b3 = currentLayer.value) == null ? void 0 : _b3.name), 1)
|
|
483081
|
+
], 4)
|
|
483082
|
+
], 2)
|
|
483083
|
+
], 38);
|
|
483084
|
+
};
|
|
483085
|
+
}
|
|
483086
|
+
});
|
|
483087
|
+
const OlBaseLayerSwitcher_vue_vue_type_style_index_0_scoped_396e5ed1_lang = "";
|
|
483088
|
+
const OlBaseLayerSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-396e5ed1"]]);
|
|
482872
483089
|
const _hoisted_1$1 = {
|
|
482873
483090
|
key: 2,
|
|
482874
483091
|
class: "tooltip-content"
|
|
@@ -484114,12 +484331,13 @@ ${this.attributes_.map(
|
|
|
484114
484331
|
isInFullscreen: () => isFullscreen.value
|
|
484115
484332
|
});
|
|
484116
484333
|
return (_ctx, _cache) => {
|
|
484334
|
+
var _a3;
|
|
484117
484335
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
484118
484336
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
484119
484337
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
484120
484338
|
class: vue.normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
|
|
484121
484339
|
}, [
|
|
484122
|
-
vue.createVNode(_sfc_main$
|
|
484340
|
+
vue.createVNode(_sfc_main$n, {
|
|
484123
484341
|
ref_key: "mapContainerRef",
|
|
484124
484342
|
ref: mapContainerRef,
|
|
484125
484343
|
config: finalMapConfig.value,
|
|
@@ -484223,7 +484441,7 @@ ${this.attributes_.map(
|
|
|
484223
484441
|
}, null, 8, ["config", "left-offset", "right-offset", "top-offset", "bottom-offset"]), [
|
|
484224
484442
|
[vue.vShow, finalShowToolbar.value]
|
|
484225
484443
|
]),
|
|
484226
|
-
vue.withDirectives(vue.createVNode(_sfc_main$
|
|
484444
|
+
vue.withDirectives(vue.createVNode(_sfc_main$9, {
|
|
484227
484445
|
ref_key: "mapSearchRef",
|
|
484228
484446
|
ref: mapSearchRef,
|
|
484229
484447
|
config: finalSearchConfig.value,
|
|
@@ -484258,7 +484476,7 @@ ${this.attributes_.map(
|
|
|
484258
484476
|
hasToolbarSlot.value ? vue.renderSlot(_ctx.$slots, "toolbar", { key: 2 }) : vue.createCommentVNode("", true),
|
|
484259
484477
|
hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "mapInfo", { key: 3 }) : vue.createCommentVNode("", true),
|
|
484260
484478
|
hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "map-info", { key: 4 }) : vue.createCommentVNode("", true),
|
|
484261
|
-
finalEnableLayerPanel.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
484479
|
+
finalEnableLayerPanel.value ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
|
|
484262
484480
|
key: 5,
|
|
484263
484481
|
modelValue: showLayerPanel.value,
|
|
484264
484482
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showLayerPanel.value = $event)
|
|
@@ -484289,7 +484507,7 @@ ${this.attributes_.map(
|
|
|
484289
484507
|
key: "2"
|
|
484290
484508
|
} : void 0
|
|
484291
484509
|
]), 1032, ["modelValue"])) : vue.createCommentVNode("", true),
|
|
484292
|
-
showLegend.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
484510
|
+
showLegend.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
|
|
484293
484511
|
key: 6,
|
|
484294
484512
|
position: finalLegendPosition.value,
|
|
484295
484513
|
width: finalLegendWidth.value,
|
|
@@ -484337,7 +484555,12 @@ ${this.attributes_.map(
|
|
|
484337
484555
|
}), 128))
|
|
484338
484556
|
])
|
|
484339
484557
|
])) : vue.createCommentVNode("", true),
|
|
484340
|
-
vue.
|
|
484558
|
+
map2.value && ((_a3 = finalMapConfig.value.baseLayers) == null ? void 0 : _a3.length) ? (vue.openBlock(), vue.createBlock(OlBaseLayerSwitcher, {
|
|
484559
|
+
key: 9,
|
|
484560
|
+
map: map2.value,
|
|
484561
|
+
"base-layers": finalMapConfig.value.baseLayers
|
|
484562
|
+
}, null, 8, ["map", "base-layers"])) : vue.createCommentVNode("", true),
|
|
484563
|
+
vue.createVNode(_sfc_main$e, {
|
|
484341
484564
|
modelValue: showPrintDialog.value,
|
|
484342
484565
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showPrintDialog.value = $event),
|
|
484343
484566
|
"map-instance": map2.value,
|
|
@@ -501431,14 +501654,14 @@ ${this.attributes_.map(
|
|
|
501431
501654
|
};
|
|
501432
501655
|
const install = (app) => {
|
|
501433
501656
|
app.component("CustomOpenlayer", _sfc_main);
|
|
501434
|
-
app.component("CustomDialog", _sfc_main$
|
|
501435
|
-
app.component("SvgIcon", _sfc_main$
|
|
501657
|
+
app.component("CustomDialog", _sfc_main$l);
|
|
501658
|
+
app.component("SvgIcon", _sfc_main$m);
|
|
501436
501659
|
};
|
|
501437
501660
|
const index$1 = {
|
|
501438
501661
|
install,
|
|
501439
501662
|
CustomOpenlayer: _sfc_main,
|
|
501440
|
-
CustomDialog: _sfc_main$
|
|
501441
|
-
SvgIcon: _sfc_main$
|
|
501663
|
+
CustomDialog: _sfc_main$l,
|
|
501664
|
+
SvgIcon: _sfc_main$m
|
|
501442
501665
|
};
|
|
501443
501666
|
const version$1 = "1.0.0";
|
|
501444
501667
|
function commonjsRequire(path2) {
|
|
@@ -511630,7 +511853,7 @@ ${this.attributes_.map(
|
|
|
511630
511853
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
511631
511854
|
exports2.BaseDrawing = BaseDrawing;
|
|
511632
511855
|
exports2.BasemapManager = BasemapManager;
|
|
511633
|
-
exports2.CustomDialog = _sfc_main$
|
|
511856
|
+
exports2.CustomDialog = _sfc_main$l;
|
|
511634
511857
|
exports2.CustomOpenlayer = _sfc_main;
|
|
511635
511858
|
exports2.DrawingFactoryRegistry = DrawingFactoryRegistry;
|
|
511636
511859
|
exports2.DrawingManager = DrawingManager;
|
|
@@ -511664,7 +511887,7 @@ ${this.attributes_.map(
|
|
|
511664
511887
|
exports2.PolygonDrawing = PolygonDrawing;
|
|
511665
511888
|
exports2.PolygonDrawingFactory = PolygonDrawingFactory;
|
|
511666
511889
|
exports2.SpatialFilterType = SpatialFilterType;
|
|
511667
|
-
exports2.SvgIcon = _sfc_main$
|
|
511890
|
+
exports2.SvgIcon = _sfc_main$m;
|
|
511668
511891
|
exports2.TextDrawing = TextDrawing;
|
|
511669
511892
|
exports2.TextDrawingFactory = TextDrawingFactory;
|
|
511670
511893
|
exports2.VectorTileLayerHandler = VectorTileLayerHandler;
|