vue-openlayers-plugin 1.0.72 → 1.0.74
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-034c9e0d.mjs → index-e0d64ecc.mjs} +856 -387
- package/lib/{index.es-6551e4c0.mjs → index.es-4f33fe12.mjs} +1 -1
- package/lib/index.esm.js +1 -1
- package/lib/index.umd.js +856 -386
- 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 +46 -164
- package/types/src/components/CustomOpenlayer/components/dialogs/LayerPanel.vue.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/types/index.d.ts +24 -3
- package/types/src/components/CustomOpenlayer/types/index.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/LayerManager.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/LayerTreeManager.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/coordinateTransform.d.ts +28 -0
- package/types/src/components/CustomOpenlayer/utils/coordinateTransform.d.ts.map +1 -0
- package/types/src/components/CustomOpenlayer/utils/index.d.ts +1 -0
- package/types/src/components/CustomOpenlayer/utils/index.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layerManager.d.ts +13 -0
- package/types/src/components/CustomOpenlayer/utils/layers/BaseLayer.d.ts +5 -0
- package/types/src/components/CustomOpenlayer/utils/layers/BaseLayer.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/GMLLayerHandler.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/KMLLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/TiandituLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/TileLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/VectorTileLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/WKTLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/WMSLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/layers/WMTSLayerHandler.d.ts.map +1 -1
- package/types/src/components/CustomOpenlayer/utils/mapManager.d.ts.map +1 -1
- package/types/tsconfig.tsbuildinfo +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;
|
|
@@ -81994,6 +81994,24 @@ ${this.attributes_.map(
|
|
|
81994
81994
|
this.config.opacity = this.config.opacity / 100;
|
|
81995
81995
|
}
|
|
81996
81996
|
}
|
|
81997
|
+
/**
|
|
81998
|
+
* 注册自定义投影
|
|
81999
|
+
* @returns 注册的投影代码,如果没有注册则返回 undefined
|
|
82000
|
+
*/
|
|
82001
|
+
registerCustomProjection() {
|
|
82002
|
+
const projectionCode = this.config.projection;
|
|
82003
|
+
const projectionDefinition = this.config.projectionDefinition;
|
|
82004
|
+
if (projectionCode && projectionDefinition) {
|
|
82005
|
+
try {
|
|
82006
|
+
proj4$1.defs(projectionCode, projectionDefinition);
|
|
82007
|
+
register$3(proj4$1);
|
|
82008
|
+
return projectionCode;
|
|
82009
|
+
} catch (error2) {
|
|
82010
|
+
console.error(`Failed to register projection ${projectionCode}:`, error2);
|
|
82011
|
+
}
|
|
82012
|
+
}
|
|
82013
|
+
return void 0;
|
|
82014
|
+
}
|
|
81997
82015
|
/**
|
|
81998
82016
|
* 获取图层实例(同步方法,用于向后兼容)
|
|
81999
82017
|
*/
|
|
@@ -82451,6 +82469,7 @@ ${this.attributes_.map(
|
|
|
82451
82469
|
* 创建瓦片数据源
|
|
82452
82470
|
*/
|
|
82453
82471
|
createTileSource() {
|
|
82472
|
+
this.registerCustomProjection();
|
|
82454
82473
|
let sourceType = this.getSourceTypeFromLayerType();
|
|
82455
82474
|
sourceType = sourceType || "xyz";
|
|
82456
82475
|
switch (sourceType.toLowerCase()) {
|
|
@@ -82569,7 +82588,8 @@ ${this.attributes_.map(
|
|
|
82569
82588
|
* 创建WMS数据源
|
|
82570
82589
|
*/
|
|
82571
82590
|
createWMSSource() {
|
|
82572
|
-
|
|
82591
|
+
this.registerCustomProjection();
|
|
82592
|
+
const options = {
|
|
82573
82593
|
url: this.config.url,
|
|
82574
82594
|
params: {
|
|
82575
82595
|
"LAYERS": this.config.wmsLayers || "",
|
|
@@ -82579,7 +82599,11 @@ ${this.attributes_.map(
|
|
|
82579
82599
|
},
|
|
82580
82600
|
ratio: 1,
|
|
82581
82601
|
crossOrigin: "anonymous"
|
|
82582
|
-
}
|
|
82602
|
+
};
|
|
82603
|
+
if (this.config.projection) {
|
|
82604
|
+
options.projection = this.config.projection;
|
|
82605
|
+
}
|
|
82606
|
+
return new ImageWMS$1(options);
|
|
82583
82607
|
}
|
|
82584
82608
|
/**
|
|
82585
82609
|
* 更新WMS参数
|
|
@@ -82864,13 +82888,17 @@ ${this.attributes_.map(
|
|
|
82864
82888
|
* 创建WMTS数据源
|
|
82865
82889
|
*/
|
|
82866
82890
|
createWMTSSource() {
|
|
82867
|
-
|
|
82868
|
-
|
|
82891
|
+
const wmtsConfig = this.config.wmtsConfig || {};
|
|
82892
|
+
const url = wmtsConfig.url || this.config.url;
|
|
82893
|
+
if (!url) {
|
|
82894
|
+
throw new Error("WMTS URL is required");
|
|
82869
82895
|
}
|
|
82896
|
+
if (this.config.url && !this.capabilities && !wmtsConfig.resolutions)
|
|
82897
|
+
;
|
|
82870
82898
|
if (this.capabilities) {
|
|
82871
82899
|
const options = optionsFromCapabilities(this.capabilities, {
|
|
82872
|
-
layer: this.config.
|
|
82873
|
-
matrixSet: this.config.
|
|
82900
|
+
layer: wmtsConfig.layer || this.config.layerName || "",
|
|
82901
|
+
matrixSet: wmtsConfig.matrixSet || this.config.matrixSet || "EPSG:4326"
|
|
82874
82902
|
});
|
|
82875
82903
|
if (!options) {
|
|
82876
82904
|
throw new Error("Failed to create WMTS options from capabilities");
|
|
@@ -82886,26 +82914,46 @@ ${this.attributes_.map(
|
|
|
82886
82914
|
crossOrigin: "anonymous"
|
|
82887
82915
|
});
|
|
82888
82916
|
} else {
|
|
82889
|
-
const
|
|
82890
|
-
const
|
|
82891
|
-
|
|
82892
|
-
|
|
82893
|
-
|
|
82894
|
-
for (let z2 = 0; z2 < 19; ++z2) {
|
|
82895
|
-
resolutions[z2] = size2 / Math.pow(2, z2);
|
|
82896
|
-
matrixIds[z2] = z2;
|
|
82917
|
+
const projectionCode = wmtsConfig.projection || this.config.projection || "EPSG:4326";
|
|
82918
|
+
const projectionDefinition = wmtsConfig.projectionDefinition || this.config.projectionDefinition;
|
|
82919
|
+
if (projectionDefinition) {
|
|
82920
|
+
proj4$1.defs(projectionCode, projectionDefinition);
|
|
82921
|
+
register$3(proj4$1);
|
|
82897
82922
|
}
|
|
82923
|
+
const projection2 = get$c(projectionCode);
|
|
82924
|
+
const projectionExtent = projection2.getExtent();
|
|
82925
|
+
let resolutions = wmtsConfig.resolutions || this.config.resolutions;
|
|
82926
|
+
let matrixIds = wmtsConfig.matrixIds || this.config.matrixIds;
|
|
82927
|
+
const tileSize = wmtsConfig.tileSize || 256;
|
|
82928
|
+
const tileSizeNumber = typeof tileSize === "number" ? tileSize : tileSize[0];
|
|
82929
|
+
if (!resolutions) {
|
|
82930
|
+
const width = projectionExtent[2] - projectionExtent[0];
|
|
82931
|
+
const size2 = width / tileSizeNumber;
|
|
82932
|
+
const zoomLevels = 19;
|
|
82933
|
+
resolutions = new Array(zoomLevels);
|
|
82934
|
+
for (let z2 = 0; z2 < zoomLevels; ++z2) {
|
|
82935
|
+
resolutions[z2] = size2 / Math.pow(2, z2);
|
|
82936
|
+
}
|
|
82937
|
+
}
|
|
82938
|
+
if (!matrixIds) {
|
|
82939
|
+
matrixIds = new Array(resolutions.length);
|
|
82940
|
+
for (let z2 = 0; z2 < resolutions.length; ++z2) {
|
|
82941
|
+
matrixIds[z2] = z2.toString();
|
|
82942
|
+
}
|
|
82943
|
+
}
|
|
82944
|
+
const origin = wmtsConfig.origin || this.config.origin || [projectionExtent[0], projectionExtent[3]];
|
|
82898
82945
|
return new WMTS$3({
|
|
82899
|
-
url
|
|
82900
|
-
layer: this.config.
|
|
82901
|
-
matrixSet: this.config.
|
|
82902
|
-
format: "image/png",
|
|
82903
|
-
projection:
|
|
82904
|
-
style: this.config.
|
|
82946
|
+
url,
|
|
82947
|
+
layer: wmtsConfig.layer || this.config.layerName || "",
|
|
82948
|
+
matrixSet: wmtsConfig.matrixSet || this.config.matrixSet || projectionCode,
|
|
82949
|
+
format: wmtsConfig.format || this.config.format || "image/png",
|
|
82950
|
+
projection: projectionCode,
|
|
82951
|
+
style: wmtsConfig.style || this.config.style || "default",
|
|
82905
82952
|
tileGrid: new WMTSTileGrid$3({
|
|
82906
|
-
origin
|
|
82953
|
+
origin,
|
|
82907
82954
|
resolutions,
|
|
82908
|
-
matrixIds
|
|
82955
|
+
matrixIds,
|
|
82956
|
+
tileSize
|
|
82909
82957
|
}),
|
|
82910
82958
|
crossOrigin: "anonymous"
|
|
82911
82959
|
});
|
|
@@ -82949,21 +82997,21 @@ ${this.attributes_.map(
|
|
|
82949
82997
|
* 设置图层
|
|
82950
82998
|
*/
|
|
82951
82999
|
setLayer(layer2) {
|
|
82952
|
-
this.config.
|
|
83000
|
+
this.config.layerName = layer2;
|
|
82953
83001
|
this.layer = null;
|
|
82954
83002
|
}
|
|
82955
83003
|
/**
|
|
82956
83004
|
* 设置矩阵集
|
|
82957
83005
|
*/
|
|
82958
83006
|
setMatrixSet(matrixSet) {
|
|
82959
|
-
this.config.
|
|
83007
|
+
this.config.matrixSet = matrixSet;
|
|
82960
83008
|
this.layer = null;
|
|
82961
83009
|
}
|
|
82962
83010
|
/**
|
|
82963
83011
|
* 设置样式
|
|
82964
83012
|
*/
|
|
82965
83013
|
setWMTSStyle(style) {
|
|
82966
|
-
this.config.
|
|
83014
|
+
this.config.style = style;
|
|
82967
83015
|
this.layer = null;
|
|
82968
83016
|
}
|
|
82969
83017
|
/**
|
|
@@ -83768,10 +83816,13 @@ ${this.attributes_.map(
|
|
|
83768
83816
|
*/
|
|
83769
83817
|
createVectorSource() {
|
|
83770
83818
|
var _a3;
|
|
83819
|
+
this.registerCustomProjection();
|
|
83771
83820
|
const format2 = new GeoJSON$4();
|
|
83772
83821
|
const mapProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
83822
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
83773
83823
|
if (this.config.data) {
|
|
83774
83824
|
const features2 = format2.readFeatures(this.config.data, {
|
|
83825
|
+
dataProjection,
|
|
83775
83826
|
featureProjection: mapProjection
|
|
83776
83827
|
});
|
|
83777
83828
|
this.originalFeatures = features2;
|
|
@@ -83779,7 +83830,10 @@ ${this.attributes_.map(
|
|
|
83779
83830
|
} else if (this.config.url) {
|
|
83780
83831
|
const source = new VectorSource$2({
|
|
83781
83832
|
url: this.config.url,
|
|
83782
|
-
format: new GeoJSON$4({
|
|
83833
|
+
format: new GeoJSON$4({
|
|
83834
|
+
dataProjection,
|
|
83835
|
+
featureProjection: mapProjection
|
|
83836
|
+
})
|
|
83783
83837
|
});
|
|
83784
83838
|
source.on("featuresloadend", () => {
|
|
83785
83839
|
this.originalFeatures = source.getFeatures();
|
|
@@ -84172,6 +84226,7 @@ ${this.attributes_.map(
|
|
|
84172
84226
|
* 应用过滤器(实现基类的抽象方法)
|
|
84173
84227
|
*/
|
|
84174
84228
|
applyFilters() {
|
|
84229
|
+
debugger;
|
|
84175
84230
|
const layer2 = this.getLayer();
|
|
84176
84231
|
const source = layer2.getSource();
|
|
84177
84232
|
if (!source)
|
|
@@ -84418,6 +84473,7 @@ ${this.attributes_.map(
|
|
|
84418
84473
|
* 创建图层
|
|
84419
84474
|
*/
|
|
84420
84475
|
createLayer() {
|
|
84476
|
+
this.registerCustomProjection();
|
|
84421
84477
|
this.vectorSource = new VectorSource$2({
|
|
84422
84478
|
url: this.config.url,
|
|
84423
84479
|
format: this.kmlFormat
|
|
@@ -84693,9 +84749,10 @@ ${this.attributes_.map(
|
|
|
84693
84749
|
* 初始化GML格式处理器
|
|
84694
84750
|
*/
|
|
84695
84751
|
initializeGMLFormat() {
|
|
84752
|
+
this.registerCustomProjection();
|
|
84696
84753
|
const gmlConfig = this.config.gmlConfig || {};
|
|
84697
84754
|
this.gmlFormat = new GML$1({
|
|
84698
|
-
srsName: gmlConfig.srsName || "EPSG:4326"
|
|
84755
|
+
srsName: gmlConfig.srsName || this.config.projection || "EPSG:4326"
|
|
84699
84756
|
});
|
|
84700
84757
|
}
|
|
84701
84758
|
/**
|
|
@@ -85071,13 +85128,20 @@ ${this.attributes_.map(
|
|
|
85071
85128
|
* 从WKT字符串加载数据
|
|
85072
85129
|
*/
|
|
85073
85130
|
loadWKTFromString(wktString) {
|
|
85131
|
+
var _a3;
|
|
85074
85132
|
if (!this.wktFormat || !this.vectorSource)
|
|
85075
85133
|
return;
|
|
85134
|
+
this.registerCustomProjection();
|
|
85135
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
85136
|
+
const featureProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
85076
85137
|
try {
|
|
85077
85138
|
const wktLines = wktString.split("\n").filter((line2) => line2.trim());
|
|
85078
85139
|
wktLines.forEach((line2, index2) => {
|
|
85079
85140
|
try {
|
|
85080
|
-
const geometry2 = this.wktFormat.readGeometry(line2.trim()
|
|
85141
|
+
const geometry2 = this.wktFormat.readGeometry(line2.trim(), {
|
|
85142
|
+
dataProjection,
|
|
85143
|
+
featureProjection
|
|
85144
|
+
});
|
|
85081
85145
|
const feature2 = new ol$1.Feature({
|
|
85082
85146
|
geometry: geometry2,
|
|
85083
85147
|
id: `wkt_feature_${index2}`,
|
|
@@ -85163,10 +85227,16 @@ ${this.attributes_.map(
|
|
|
85163
85227
|
* 添加WKT几何
|
|
85164
85228
|
*/
|
|
85165
85229
|
addWKTGeometry(wktString, properties) {
|
|
85230
|
+
var _a3;
|
|
85166
85231
|
if (!this.wktFormat || !this.vectorSource)
|
|
85167
85232
|
return null;
|
|
85233
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
85234
|
+
const featureProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
85168
85235
|
try {
|
|
85169
|
-
const geometry2 = this.wktFormat.readGeometry(wktString
|
|
85236
|
+
const geometry2 = this.wktFormat.readGeometry(wktString, {
|
|
85237
|
+
dataProjection,
|
|
85238
|
+
featureProjection
|
|
85239
|
+
});
|
|
85170
85240
|
const feature2 = new ol$1.Feature({
|
|
85171
85241
|
geometry: geometry2,
|
|
85172
85242
|
wkt: wktString,
|
|
@@ -466232,6 +466302,7 @@ ${this.attributes_.map(
|
|
|
466232
466302
|
* 创建天地图XYZ数据源
|
|
466233
466303
|
*/
|
|
466234
466304
|
createTiandituSource() {
|
|
466305
|
+
this.registerCustomProjection();
|
|
466235
466306
|
const url = this.processUrl(this.config.url || "");
|
|
466236
466307
|
const xyzOptions = {
|
|
466237
466308
|
url,
|
|
@@ -466628,6 +466699,7 @@ ${this.attributes_.map(
|
|
|
466628
466699
|
* 创建矢量瓦片数据源
|
|
466629
466700
|
*/
|
|
466630
466701
|
createVectorTileSource() {
|
|
466702
|
+
this.registerCustomProjection();
|
|
466631
466703
|
const config = this.config;
|
|
466632
466704
|
const format2 = this.createFormat();
|
|
466633
466705
|
const sourceOptions = {
|
|
@@ -466676,7 +466748,7 @@ ${this.attributes_.map(
|
|
|
466676
466748
|
});
|
|
466677
466749
|
case "geojson":
|
|
466678
466750
|
return new GeoJSON$4({
|
|
466679
|
-
dataProjection: config.dataProjection || "EPSG:4326",
|
|
466751
|
+
dataProjection: config.dataProjection || config.projection || "EPSG:4326",
|
|
466680
466752
|
featureProjection: config.featureProjection || "EPSG:4326"
|
|
466681
466753
|
});
|
|
466682
466754
|
default:
|
|
@@ -467148,6 +467220,8 @@ ${this.attributes_.map(
|
|
|
467148
467220
|
__publicField(this, "storage");
|
|
467149
467221
|
// 存储baseLayers配置,用于判断图层是否为底图
|
|
467150
467222
|
__publicField(this, "baseLayerIds", /* @__PURE__ */ new Set());
|
|
467223
|
+
// 存储共享图层组信息
|
|
467224
|
+
__publicField(this, "sharedLayerGroups", /* @__PURE__ */ new Map());
|
|
467151
467225
|
this.map = map2;
|
|
467152
467226
|
this.eventBus = eventBus;
|
|
467153
467227
|
this.storage = storage2;
|
|
@@ -467157,6 +467231,7 @@ ${this.attributes_.map(
|
|
|
467157
467231
|
* 添加图层(支持按需加载)
|
|
467158
467232
|
*/
|
|
467159
467233
|
async addLayer(config) {
|
|
467234
|
+
var _a3, _b3;
|
|
467160
467235
|
try {
|
|
467161
467236
|
const layerId = config.id || `layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
467162
467237
|
if (this.layerHandlers.has(layerId) || this.pendingLayerConfigs.has(layerId)) {
|
|
@@ -467171,7 +467246,11 @@ ${this.attributes_.map(
|
|
|
467171
467246
|
opacity: config.opacity ?? 1,
|
|
467172
467247
|
zIndex: config.zIndex ?? 0
|
|
467173
467248
|
};
|
|
467174
|
-
|
|
467249
|
+
const isGroup = fullConfig.type === "group" || (((_a3 = fullConfig.children) == null ? void 0 : _a3.length) ?? 0) > 0 || (((_b3 = fullConfig.layers) == null ? void 0 : _b3.length) ?? 0) > 0;
|
|
467250
|
+
if (isGroup) {
|
|
467251
|
+
if (fullConfig.type !== "group") {
|
|
467252
|
+
fullConfig.type = "group";
|
|
467253
|
+
}
|
|
467175
467254
|
return this.addLayerGroup(fullConfig);
|
|
467176
467255
|
}
|
|
467177
467256
|
if (fullConfig.visible && this.isBasemapLayer(layerId)) {
|
|
@@ -467283,6 +467362,174 @@ ${this.attributes_.map(
|
|
|
467283
467362
|
console.error("执行定位动画失败:", error2);
|
|
467284
467363
|
}
|
|
467285
467364
|
}
|
|
467365
|
+
/**
|
|
467366
|
+
* 设置共享图层样式函数
|
|
467367
|
+
*/
|
|
467368
|
+
setupSharedLayerStyle(layer2, reuseId) {
|
|
467369
|
+
if (!(layer2 instanceof VectorLayer$3)) {
|
|
467370
|
+
return;
|
|
467371
|
+
}
|
|
467372
|
+
const originalStyleFunction = layer2.getStyleFunction();
|
|
467373
|
+
layer2.setStyle((function(feature2, resolution) {
|
|
467374
|
+
const group2 = this.sharedLayerGroups.get(reuseId);
|
|
467375
|
+
if (!group2)
|
|
467376
|
+
return null;
|
|
467377
|
+
let matched = false;
|
|
467378
|
+
let styleToUse = null;
|
|
467379
|
+
for (const layerId of group2.logicalLayers) {
|
|
467380
|
+
const config = this.layerConfigs.get(layerId);
|
|
467381
|
+
if (config && config.visible) {
|
|
467382
|
+
try {
|
|
467383
|
+
if (this.checkFeatureFilter(feature2, config.filters)) {
|
|
467384
|
+
matched = true;
|
|
467385
|
+
const handler = this.layerHandlers.get(layerId);
|
|
467386
|
+
if (handler) {
|
|
467387
|
+
const isFirst = group2.logicalLayers.values().next().value === layerId;
|
|
467388
|
+
if (isFirst) {
|
|
467389
|
+
if (originalStyleFunction) {
|
|
467390
|
+
styleToUse = originalStyleFunction(feature2, resolution);
|
|
467391
|
+
}
|
|
467392
|
+
} else {
|
|
467393
|
+
const logicalLayer = handler.getLayer();
|
|
467394
|
+
if (logicalLayer && logicalLayer instanceof VectorLayer$3 && logicalLayer !== layer2) {
|
|
467395
|
+
const styleFunc = logicalLayer.getStyleFunction();
|
|
467396
|
+
if (styleFunc) {
|
|
467397
|
+
styleToUse = styleFunc(feature2, resolution);
|
|
467398
|
+
}
|
|
467399
|
+
} else {
|
|
467400
|
+
if (originalStyleFunction) {
|
|
467401
|
+
styleToUse = originalStyleFunction(feature2, resolution);
|
|
467402
|
+
}
|
|
467403
|
+
}
|
|
467404
|
+
}
|
|
467405
|
+
if (styleToUse || matched) {
|
|
467406
|
+
break;
|
|
467407
|
+
}
|
|
467408
|
+
}
|
|
467409
|
+
}
|
|
467410
|
+
} catch (e3) {
|
|
467411
|
+
console.error("Error checking feature filter:", e3);
|
|
467412
|
+
}
|
|
467413
|
+
}
|
|
467414
|
+
}
|
|
467415
|
+
if (matched) {
|
|
467416
|
+
if (styleToUse)
|
|
467417
|
+
return styleToUse;
|
|
467418
|
+
if (originalStyleFunction)
|
|
467419
|
+
return originalStyleFunction(feature2, resolution);
|
|
467420
|
+
return void 0;
|
|
467421
|
+
}
|
|
467422
|
+
return null;
|
|
467423
|
+
}).bind(this));
|
|
467424
|
+
}
|
|
467425
|
+
/**
|
|
467426
|
+
* 更新共享图层状态(处理WMS参数更新或Vector重绘)
|
|
467427
|
+
*/
|
|
467428
|
+
updateSharedLayerState(reuseId) {
|
|
467429
|
+
const group2 = this.sharedLayerGroups.get(reuseId);
|
|
467430
|
+
if (!group2)
|
|
467431
|
+
return;
|
|
467432
|
+
const layer2 = group2.physicalLayer;
|
|
467433
|
+
const source = layer2.getSource();
|
|
467434
|
+
if (source && typeof source.updateParams === "function") {
|
|
467435
|
+
const visibleLayers = Array.from(group2.logicalLayers).filter((id2) => {
|
|
467436
|
+
const config = this.layerConfigs.get(id2);
|
|
467437
|
+
return config && config.visible;
|
|
467438
|
+
});
|
|
467439
|
+
const wmsLayersList = [];
|
|
467440
|
+
const cqlFilterList = [];
|
|
467441
|
+
visibleLayers.forEach((id2) => {
|
|
467442
|
+
var _a3, _b3;
|
|
467443
|
+
const config = this.layerConfigs.get(id2);
|
|
467444
|
+
if (config) {
|
|
467445
|
+
const layers = config.wmsLayers || ((_b3 = (_a3 = config.config) == null ? void 0 : _a3.wms) == null ? void 0 : _b3.layers);
|
|
467446
|
+
if (layers) {
|
|
467447
|
+
wmsLayersList.push(layers);
|
|
467448
|
+
let cql = "";
|
|
467449
|
+
if (config.filters && config.filters.length > 0) {
|
|
467450
|
+
const conditions = config.filters.filter((f2) => f2.enabled && f2.type === FilterType.ATTRIBUTE).map((f2) => {
|
|
467451
|
+
const attrFilter = f2;
|
|
467452
|
+
let val = attrFilter.value;
|
|
467453
|
+
if (typeof val === "string") {
|
|
467454
|
+
val = `'${val}'`;
|
|
467455
|
+
}
|
|
467456
|
+
switch (attrFilter.operator) {
|
|
467457
|
+
case FilterOperator.EQUAL:
|
|
467458
|
+
return `${attrFilter.property}=${val}`;
|
|
467459
|
+
case FilterOperator.NOT_EQUAL:
|
|
467460
|
+
return `${attrFilter.property}<>${val}`;
|
|
467461
|
+
case FilterOperator.GREATER_THAN:
|
|
467462
|
+
return `${attrFilter.property}>${val}`;
|
|
467463
|
+
case FilterOperator.LESS_THAN:
|
|
467464
|
+
return `${attrFilter.property}<${val}`;
|
|
467465
|
+
case FilterOperator.GREATER_EQUAL:
|
|
467466
|
+
return `${attrFilter.property}>=${val}`;
|
|
467467
|
+
case FilterOperator.LESS_EQUAL:
|
|
467468
|
+
return `${attrFilter.property}<=${val}`;
|
|
467469
|
+
case FilterOperator.LIKE:
|
|
467470
|
+
return `${attrFilter.property} LIKE ${val}`;
|
|
467471
|
+
case FilterOperator.IN:
|
|
467472
|
+
if (Array.isArray(attrFilter.value)) {
|
|
467473
|
+
const inVals = attrFilter.value.map((v5) => typeof v5 === "string" ? `'${v5}'` : v5).join(",");
|
|
467474
|
+
return `${attrFilter.property} IN (${inVals})`;
|
|
467475
|
+
}
|
|
467476
|
+
return `${attrFilter.property} IN (${attrFilter.value})`;
|
|
467477
|
+
default:
|
|
467478
|
+
return "";
|
|
467479
|
+
}
|
|
467480
|
+
}).filter((c2) => c2 !== "");
|
|
467481
|
+
if (conditions.length > 0) {
|
|
467482
|
+
cql = conditions.join(" AND ");
|
|
467483
|
+
}
|
|
467484
|
+
}
|
|
467485
|
+
cqlFilterList.push(cql === "" ? "INCLUDE" : cql);
|
|
467486
|
+
}
|
|
467487
|
+
}
|
|
467488
|
+
});
|
|
467489
|
+
if (wmsLayersList.length > 0) {
|
|
467490
|
+
const newLayersParam = wmsLayersList.join(",");
|
|
467491
|
+
const newCqlFilterParam = cqlFilterList.join(";");
|
|
467492
|
+
const params2 = { "LAYERS": newLayersParam };
|
|
467493
|
+
if (cqlFilterList.some((c2) => c2 !== "INCLUDE")) {
|
|
467494
|
+
params2["CQL_FILTER"] = newCqlFilterParam;
|
|
467495
|
+
} else {
|
|
467496
|
+
params2["CQL_FILTER"] = null;
|
|
467497
|
+
}
|
|
467498
|
+
source.updateParams(params2);
|
|
467499
|
+
console.log(`共享WMS图层 ${reuseId} 更新参数: LAYERS=${newLayersParam}, CQL_FILTER=${newCqlFilterParam}`);
|
|
467500
|
+
return;
|
|
467501
|
+
}
|
|
467502
|
+
}
|
|
467503
|
+
layer2.changed();
|
|
467504
|
+
}
|
|
467505
|
+
/**
|
|
467506
|
+
* 检查要素是否匹配过滤条件
|
|
467507
|
+
*/
|
|
467508
|
+
checkFeatureFilter(feature2, filters) {
|
|
467509
|
+
if (!filters || filters.length === 0) {
|
|
467510
|
+
return true;
|
|
467511
|
+
}
|
|
467512
|
+
for (const filter2 of filters) {
|
|
467513
|
+
if (!filter2.enabled)
|
|
467514
|
+
continue;
|
|
467515
|
+
if (filter2.type === FilterType.ATTRIBUTE) {
|
|
467516
|
+
const props = feature2.getProperties();
|
|
467517
|
+
const value = props[filter2.property];
|
|
467518
|
+
const targetValue = filter2.value;
|
|
467519
|
+
switch (filter2.operator) {
|
|
467520
|
+
case FilterOperator.EQUAL:
|
|
467521
|
+
if (value != targetValue)
|
|
467522
|
+
return false;
|
|
467523
|
+
break;
|
|
467524
|
+
case FilterOperator.NOT_EQUAL:
|
|
467525
|
+
if (value == targetValue)
|
|
467526
|
+
return false;
|
|
467527
|
+
break;
|
|
467528
|
+
}
|
|
467529
|
+
}
|
|
467530
|
+
}
|
|
467531
|
+
return true;
|
|
467532
|
+
}
|
|
467286
467533
|
/**
|
|
467287
467534
|
* 获取缓动函数
|
|
467288
467535
|
*/
|
|
@@ -467313,19 +467560,44 @@ ${this.attributes_.map(
|
|
|
467313
467560
|
* 异步添加图层
|
|
467314
467561
|
*/
|
|
467315
467562
|
async addLayerAsync(fullConfig, handler) {
|
|
467316
|
-
var _a3;
|
|
467563
|
+
var _a3, _b3;
|
|
467317
467564
|
try {
|
|
467318
467565
|
const layer2 = await handler.getLayerAsync();
|
|
467319
467566
|
layer2.set("layerId", fullConfig.id);
|
|
467320
467567
|
this.layerHandlers.set(fullConfig.id, handler);
|
|
467321
467568
|
this.layerConfigs.set(fullConfig.id, fullConfig);
|
|
467322
467569
|
console.log("kjthis.layerConfigs:", this.layerConfigs);
|
|
467323
|
-
|
|
467570
|
+
let isReuse = false;
|
|
467571
|
+
if (fullConfig.reuseId) {
|
|
467572
|
+
const reuseId = fullConfig.reuseId;
|
|
467573
|
+
let group2 = this.sharedLayerGroups.get(reuseId);
|
|
467574
|
+
if (group2) {
|
|
467575
|
+
console.log(`图层 ${fullConfig.id} 复用物理图层 ${reuseId}`);
|
|
467576
|
+
group2.logicalLayers.add(fullConfig.id);
|
|
467577
|
+
isReuse = true;
|
|
467578
|
+
this.updateSharedLayerState(reuseId);
|
|
467579
|
+
} else {
|
|
467580
|
+
console.log(`图层 ${fullConfig.id} 创建共享物理图层 ${reuseId}`);
|
|
467581
|
+
this.sharedLayerGroups.set(reuseId, {
|
|
467582
|
+
physicalLayer: layer2,
|
|
467583
|
+
logicalLayers: /* @__PURE__ */ new Set([fullConfig.id])
|
|
467584
|
+
});
|
|
467585
|
+
this.setupSharedLayerStyle(layer2, reuseId);
|
|
467586
|
+
this.map.addLayer(layer2);
|
|
467587
|
+
}
|
|
467588
|
+
} else {
|
|
467589
|
+
this.map.addLayer(layer2);
|
|
467590
|
+
}
|
|
467324
467591
|
if (fullConfig.zIndex !== void 0) {
|
|
467325
|
-
|
|
467592
|
+
if (fullConfig.reuseId && this.sharedLayerGroups.has(fullConfig.reuseId)) {
|
|
467593
|
+
const group2 = this.sharedLayerGroups.get(fullConfig.reuseId);
|
|
467594
|
+
group2.physicalLayer.setZIndex(fullConfig.zIndex);
|
|
467595
|
+
} else {
|
|
467596
|
+
handler.setZIndex(fullConfig.zIndex);
|
|
467597
|
+
}
|
|
467326
467598
|
console.log(`图层 ${fullConfig.id} 设置 zIndex: ${fullConfig.zIndex}`);
|
|
467327
467599
|
}
|
|
467328
|
-
if ("applyLayerStyles" in handler) {
|
|
467600
|
+
if ("applyLayerStyles" in handler && !isReuse) {
|
|
467329
467601
|
setTimeout(() => {
|
|
467330
467602
|
handler.applyLayerStyles();
|
|
467331
467603
|
}, 50);
|
|
@@ -467339,7 +467611,9 @@ ${this.attributes_.map(
|
|
|
467339
467611
|
layerConfig: fullConfig
|
|
467340
467612
|
});
|
|
467341
467613
|
if (((_a3 = fullConfig.locationAnimation) == null ? void 0 : _a3.enabled) && fullConfig.visible) {
|
|
467342
|
-
this.
|
|
467614
|
+
if (!isReuse || !((_b3 = this.sharedLayerGroups.get(fullConfig.reuseId)) == null ? void 0 : _b3.physicalLayer.getVisible())) {
|
|
467615
|
+
this.handleLocationAnimation(fullConfig.reuseId ? this.sharedLayerGroups.get(fullConfig.reuseId).physicalLayer : layer2, fullConfig);
|
|
467616
|
+
}
|
|
467343
467617
|
}
|
|
467344
467618
|
return true;
|
|
467345
467619
|
} catch (error2) {
|
|
@@ -467364,7 +467638,7 @@ ${this.attributes_.map(
|
|
|
467364
467638
|
const childLayers = [];
|
|
467365
467639
|
if (groupConfig.children) {
|
|
467366
467640
|
for (const childConfig of groupConfig.children) {
|
|
467367
|
-
const childLayerId = `${groupConfig.id}_child_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
467641
|
+
const childLayerId = childConfig.id || `${groupConfig.id}_child_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
467368
467642
|
const childFullConfig = {
|
|
467369
467643
|
...childConfig,
|
|
467370
467644
|
id: childLayerId,
|
|
@@ -467377,9 +467651,10 @@ ${this.attributes_.map(
|
|
|
467377
467651
|
}
|
|
467378
467652
|
}
|
|
467379
467653
|
}
|
|
467654
|
+
const layersList = [];
|
|
467380
467655
|
if (groupConfig.layers) {
|
|
467381
467656
|
for (const layerConfig of groupConfig.layers) {
|
|
467382
|
-
const layerLayerId = `${groupConfig.id}_layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
467657
|
+
const layerLayerId = layerConfig.id || `${groupConfig.id}_layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
467383
467658
|
const layerFullConfig = {
|
|
467384
467659
|
...layerConfig,
|
|
467385
467660
|
id: layerLayerId,
|
|
@@ -467388,10 +467663,14 @@ ${this.attributes_.map(
|
|
|
467388
467663
|
opacity: layerConfig.opacity ?? groupConfig.opacity
|
|
467389
467664
|
};
|
|
467390
467665
|
if (this.addLayer(layerFullConfig)) {
|
|
467666
|
+
layersList.push(layerFullConfig);
|
|
467391
467667
|
}
|
|
467392
467668
|
}
|
|
467393
467669
|
}
|
|
467394
467670
|
groupConfig.children = childLayers;
|
|
467671
|
+
if (layersList.length > 0) {
|
|
467672
|
+
groupConfig.layers = layersList;
|
|
467673
|
+
}
|
|
467395
467674
|
this.layerConfigs.set(groupConfig.id, groupConfig);
|
|
467396
467675
|
this.saveLayerConfigs();
|
|
467397
467676
|
this.eventBus.emit("layer-added", {
|
|
@@ -467418,15 +467697,26 @@ ${this.attributes_.map(
|
|
|
467418
467697
|
console.warn(`未找到图层配置: ${layerId}`);
|
|
467419
467698
|
return false;
|
|
467420
467699
|
}
|
|
467421
|
-
if (handler && this.layerConfigs.has(layerId)) {
|
|
467422
|
-
if (config.type === "group"
|
|
467423
|
-
|
|
467424
|
-
|
|
467700
|
+
if ((handler || config.type === "group") && this.layerConfigs.has(layerId)) {
|
|
467701
|
+
if (config.type === "group") {
|
|
467702
|
+
if (config.children) {
|
|
467703
|
+
for (const child of config.children) {
|
|
467704
|
+
this.removeLayer(child.id);
|
|
467705
|
+
}
|
|
467425
467706
|
}
|
|
467426
|
-
|
|
467707
|
+
if (config.layers) {
|
|
467708
|
+
for (const layer2 of config.layers) {
|
|
467709
|
+
this.removeLayer(layer2.id);
|
|
467710
|
+
}
|
|
467711
|
+
}
|
|
467712
|
+
if (handler)
|
|
467713
|
+
handler.destroy();
|
|
467714
|
+
} else if (handler) {
|
|
467427
467715
|
handler.destroy();
|
|
467428
467716
|
}
|
|
467429
|
-
|
|
467717
|
+
if (handler) {
|
|
467718
|
+
this.layerHandlers.delete(layerId);
|
|
467719
|
+
}
|
|
467430
467720
|
this.layerConfigs.delete(layerId);
|
|
467431
467721
|
}
|
|
467432
467722
|
this.pendingLayerConfigs.delete(layerId);
|
|
@@ -467498,7 +467788,7 @@ ${this.attributes_.map(
|
|
|
467498
467788
|
console.warn(`图层配置不存在: ${layerId}`);
|
|
467499
467789
|
return false;
|
|
467500
467790
|
}
|
|
467501
|
-
if (config.type === "group" && config.children) {
|
|
467791
|
+
if (config.type === "group" && (config.children || config.layers)) {
|
|
467502
467792
|
return await this.setGroupLayerVisible(layerId, visible);
|
|
467503
467793
|
}
|
|
467504
467794
|
if (visible && !this.layerHandlers.has(layerId)) {
|
|
@@ -467513,28 +467803,58 @@ ${this.attributes_.map(
|
|
|
467513
467803
|
if (visible && this.isBasemapLayer(layerId)) {
|
|
467514
467804
|
await this.hideOtherBasemaps(layerId);
|
|
467515
467805
|
}
|
|
467516
|
-
handler.setVisible(visible);
|
|
467517
467806
|
config.visible = visible;
|
|
467518
|
-
this.saveLayerConfigs();
|
|
467519
467807
|
if (this.pendingLayerConfigs.has(layerId)) {
|
|
467520
467808
|
this.pendingLayerConfigs.set(layerId, config);
|
|
467521
467809
|
}
|
|
467522
|
-
|
|
467523
|
-
|
|
467524
|
-
const
|
|
467525
|
-
|
|
467526
|
-
this.
|
|
467527
|
-
|
|
467528
|
-
|
|
467529
|
-
|
|
467530
|
-
|
|
467531
|
-
|
|
467532
|
-
|
|
467533
|
-
|
|
467534
|
-
|
|
467535
|
-
|
|
467810
|
+
this.layerConfigs.set(layerId, config);
|
|
467811
|
+
if (config.reuseId && this.sharedLayerGroups.has(config.reuseId)) {
|
|
467812
|
+
const group2 = this.sharedLayerGroups.get(config.reuseId);
|
|
467813
|
+
const anyVisible = Array.from(group2.logicalLayers).some((id2) => {
|
|
467814
|
+
const c2 = this.layerConfigs.get(id2);
|
|
467815
|
+
return c2 && c2.visible;
|
|
467816
|
+
});
|
|
467817
|
+
group2.physicalLayer.setVisible(anyVisible);
|
|
467818
|
+
this.updateSharedLayerState(config.reuseId);
|
|
467819
|
+
console.log(`共享图层 ${config.reuseId} 逻辑图层 ${layerId} 可见性设为 ${visible}, 物理图层可见性: ${anyVisible}`);
|
|
467820
|
+
if (visible) {
|
|
467821
|
+
if (anyVisible) {
|
|
467822
|
+
const layer2 = group2.physicalLayer;
|
|
467823
|
+
const animCfg = config.locationAnimation;
|
|
467824
|
+
if (animCfg && animCfg.enabled) {
|
|
467825
|
+
this.handleLocationAnimation(layer2, config);
|
|
467826
|
+
} else if (config.fitToExtent) {
|
|
467827
|
+
const defaultAnim = {
|
|
467828
|
+
enabled: true,
|
|
467829
|
+
duration: 1e3,
|
|
467830
|
+
easing: "ease-out",
|
|
467831
|
+
maxZoom: 16,
|
|
467832
|
+
padding: [50, 50, 50, 50]
|
|
467833
|
+
};
|
|
467834
|
+
this.performLocationAnimation(layer2, config, defaultAnim);
|
|
467835
|
+
}
|
|
467836
|
+
}
|
|
467837
|
+
}
|
|
467838
|
+
} else {
|
|
467839
|
+
handler.setVisible(visible);
|
|
467840
|
+
if (visible) {
|
|
467841
|
+
const layer2 = handler.getLayer();
|
|
467842
|
+
const animCfg = config.locationAnimation;
|
|
467843
|
+
if (animCfg && animCfg.enabled) {
|
|
467844
|
+
this.handleLocationAnimation(layer2, config);
|
|
467845
|
+
} else if (config.fitToExtent) {
|
|
467846
|
+
const defaultAnim = {
|
|
467847
|
+
enabled: true,
|
|
467848
|
+
duration: 1e3,
|
|
467849
|
+
easing: "ease-out",
|
|
467850
|
+
maxZoom: 16,
|
|
467851
|
+
padding: [50, 50, 50, 50]
|
|
467852
|
+
};
|
|
467853
|
+
this.performLocationAnimation(layer2, config, defaultAnim);
|
|
467854
|
+
}
|
|
467536
467855
|
}
|
|
467537
467856
|
}
|
|
467857
|
+
this.saveLayerConfigs();
|
|
467538
467858
|
this.eventBus.emit("layer-visibility-changed", {
|
|
467539
467859
|
layerId,
|
|
467540
467860
|
visible,
|
|
@@ -467586,10 +467906,9 @@ ${this.attributes_.map(
|
|
|
467586
467906
|
}
|
|
467587
467907
|
}
|
|
467588
467908
|
if (groupConfig.layers) {
|
|
467589
|
-
const
|
|
467590
|
-
|
|
467591
|
-
|
|
467592
|
-
const result = await this.setLayerVisible(layerId, visible);
|
|
467909
|
+
for (const layerConfig of groupConfig.layers) {
|
|
467910
|
+
if (layerConfig.id) {
|
|
467911
|
+
const result = await this.setLayerVisible(layerConfig.id, visible);
|
|
467593
467912
|
results.push(result);
|
|
467594
467913
|
}
|
|
467595
467914
|
}
|
|
@@ -467841,7 +468160,6 @@ ${this.attributes_.map(
|
|
|
467841
468160
|
* 按需加载图层(原loadLayerConfigs的单个图层版本)
|
|
467842
468161
|
*/
|
|
467843
468162
|
async loadLayerOnDemand(layerId) {
|
|
467844
|
-
var _a3;
|
|
467845
468163
|
try {
|
|
467846
468164
|
if (this.layerHandlers.has(layerId)) {
|
|
467847
468165
|
return true;
|
|
@@ -467853,23 +468171,15 @@ ${this.attributes_.map(
|
|
|
467853
468171
|
}
|
|
467854
468172
|
const handler = layerFactory.createLayerHandler(config);
|
|
467855
468173
|
handler.setMap(this.map);
|
|
467856
|
-
const
|
|
467857
|
-
|
|
467858
|
-
|
|
467859
|
-
|
|
467860
|
-
|
|
467861
|
-
|
|
467862
|
-
|
|
467863
|
-
|
|
467864
|
-
}
|
|
467865
|
-
this.pendingLayerConfigs.delete(layerId);
|
|
467866
|
-
if ("applyLayerStyles" in handler) {
|
|
467867
|
-
setTimeout(() => {
|
|
467868
|
-
handler.applyLayerStyles();
|
|
467869
|
-
}, 50);
|
|
468174
|
+
const success = await this.addLayerAsync(config, handler);
|
|
468175
|
+
if (success) {
|
|
468176
|
+
this.pendingLayerConfigs.delete(layerId);
|
|
468177
|
+
console.log(`图层 ${layerId} 按需加载完成`);
|
|
468178
|
+
return true;
|
|
468179
|
+
} else {
|
|
468180
|
+
console.error(`按需加载图层 ${layerId} 失败`);
|
|
468181
|
+
return false;
|
|
467870
468182
|
}
|
|
467871
|
-
console.log(`图层 ${layerId} 按需加载完成`);
|
|
467872
|
-
return true;
|
|
467873
468183
|
} catch (error2) {
|
|
467874
468184
|
console.error(`按需加载图层 ${layerId} 失败:`, error2);
|
|
467875
468185
|
return false;
|
|
@@ -468330,8 +468640,8 @@ ${this.attributes_.map(
|
|
|
468330
468640
|
this.map.removeLayer(this.highlightLayer);
|
|
468331
468641
|
}
|
|
468332
468642
|
}
|
|
468333
|
-
const _hoisted_1$
|
|
468334
|
-
const _sfc_main$
|
|
468643
|
+
const _hoisted_1$q = ["id"];
|
|
468644
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
468335
468645
|
__name: "BasePopup",
|
|
468336
468646
|
props: {
|
|
468337
468647
|
config: {},
|
|
@@ -468449,7 +468759,7 @@ ${this.attributes_.map(
|
|
|
468449
468759
|
}, [
|
|
468450
468760
|
vue.createElementVNode("div", {
|
|
468451
468761
|
id: `popup-slot-${_ctx.id}`
|
|
468452
|
-
}, null, 8, _hoisted_1$
|
|
468762
|
+
}, null, 8, _hoisted_1$q),
|
|
468453
468763
|
vue.renderSlot(_ctx.$slots, "default", {
|
|
468454
468764
|
feature: _ctx.feature,
|
|
468455
468765
|
coordinate: _ctx.coordinate,
|
|
@@ -468465,13 +468775,13 @@ ${this.attributes_.map(
|
|
|
468465
468775
|
}
|
|
468466
468776
|
});
|
|
468467
468777
|
const BasePopup_vue_vue_type_style_index_0_lang = "";
|
|
468468
|
-
const _hoisted_1$
|
|
468469
|
-
const _hoisted_2$
|
|
468778
|
+
const _hoisted_1$p = { class: "html-popup-content" };
|
|
468779
|
+
const _hoisted_2$n = {
|
|
468470
468780
|
key: 0,
|
|
468471
468781
|
class: "html-popup-title"
|
|
468472
468782
|
};
|
|
468473
|
-
const _hoisted_3$
|
|
468474
|
-
const _sfc_main$
|
|
468783
|
+
const _hoisted_3$m = ["innerHTML"];
|
|
468784
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
468475
468785
|
__name: "HtmlPopup",
|
|
468476
468786
|
props: {
|
|
468477
468787
|
config: {},
|
|
@@ -468519,7 +468829,7 @@ ${this.attributes_.map(
|
|
|
468519
468829
|
return sanitizeHtml(content2);
|
|
468520
468830
|
});
|
|
468521
468831
|
return (_ctx, _cache) => {
|
|
468522
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
468832
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
468523
468833
|
config: _ctx.config,
|
|
468524
468834
|
coordinate: _ctx.coordinate,
|
|
468525
468835
|
feature: _ctx.feature,
|
|
@@ -468532,12 +468842,12 @@ ${this.attributes_.map(
|
|
|
468532
468842
|
default: vue.withCtx(() => {
|
|
468533
468843
|
var _a3;
|
|
468534
468844
|
return [
|
|
468535
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
468536
|
-
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
468845
|
+
vue.createElementVNode("div", _hoisted_1$p, [
|
|
468846
|
+
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
468537
468847
|
vue.createElementVNode("div", {
|
|
468538
468848
|
class: "html-popup-body",
|
|
468539
468849
|
innerHTML: resolveContent()
|
|
468540
|
-
}, null, 8, _hoisted_3$
|
|
468850
|
+
}, null, 8, _hoisted_3$m)
|
|
468541
468851
|
])
|
|
468542
468852
|
];
|
|
468543
468853
|
}),
|
|
@@ -468547,17 +468857,17 @@ ${this.attributes_.map(
|
|
|
468547
468857
|
}
|
|
468548
468858
|
});
|
|
468549
468859
|
const HtmlPopup_vue_vue_type_style_index_0_lang = "";
|
|
468550
|
-
const _hoisted_1$
|
|
468551
|
-
const _hoisted_2$
|
|
468860
|
+
const _hoisted_1$o = { class: "image-popup-content" };
|
|
468861
|
+
const _hoisted_2$m = {
|
|
468552
468862
|
key: 0,
|
|
468553
468863
|
class: "image-popup-title"
|
|
468554
468864
|
};
|
|
468555
|
-
const _hoisted_3$
|
|
468865
|
+
const _hoisted_3$l = {
|
|
468556
468866
|
key: 1,
|
|
468557
468867
|
class: "image-popup-description"
|
|
468558
468868
|
};
|
|
468559
|
-
const _hoisted_4$
|
|
468560
|
-
const _hoisted_5$
|
|
468869
|
+
const _hoisted_4$l = { class: "image-popup-main" };
|
|
468870
|
+
const _hoisted_5$l = { class: "image-container" };
|
|
468561
468871
|
const _hoisted_6$h = ["src", "alt"];
|
|
468562
468872
|
const _hoisted_7$f = {
|
|
468563
468873
|
key: 0,
|
|
@@ -468587,7 +468897,7 @@ ${this.attributes_.map(
|
|
|
468587
468897
|
};
|
|
468588
468898
|
const _hoisted_15$7 = { class: "fullscreen-container" };
|
|
468589
468899
|
const _hoisted_16$7 = ["src", "alt"];
|
|
468590
|
-
const _sfc_main$
|
|
468900
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
468591
468901
|
__name: "ImagePopup",
|
|
468592
468902
|
props: {
|
|
468593
468903
|
config: {},
|
|
@@ -468720,7 +469030,7 @@ ${this.attributes_.map(
|
|
|
468720
469030
|
document.removeEventListener("keydown", handleKeydown);
|
|
468721
469031
|
});
|
|
468722
469032
|
return (_ctx, _cache) => {
|
|
468723
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
469033
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
468724
469034
|
config: _ctx.config,
|
|
468725
469035
|
coordinate: _ctx.coordinate,
|
|
468726
469036
|
feature: _ctx.feature,
|
|
@@ -468731,11 +469041,11 @@ ${this.attributes_.map(
|
|
|
468731
469041
|
onHide: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("hide"))
|
|
468732
469042
|
}, {
|
|
468733
469043
|
default: vue.withCtx(() => [
|
|
468734
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
468735
|
-
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
468736
|
-
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
468737
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
468738
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
469044
|
+
vue.createElementVNode("div", _hoisted_1$o, [
|
|
469045
|
+
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
469046
|
+
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$l, vue.toDisplayString(_ctx.config.description), 1)) : vue.createCommentVNode("", true),
|
|
469047
|
+
vue.createElementVNode("div", _hoisted_4$l, [
|
|
469048
|
+
vue.createElementVNode("div", _hoisted_5$l, [
|
|
468739
469049
|
vue.createElementVNode("img", {
|
|
468740
469050
|
src: currentImage.value,
|
|
468741
469051
|
alt: `图片 ${currentIndex.value + 1}`,
|
|
@@ -468842,20 +469152,20 @@ ${this.attributes_.map(
|
|
|
468842
469152
|
}
|
|
468843
469153
|
});
|
|
468844
469154
|
const ImagePopup_vue_vue_type_style_index_0_lang = "";
|
|
468845
|
-
const _hoisted_1$
|
|
468846
|
-
const _hoisted_2$
|
|
469155
|
+
const _hoisted_1$n = { class: "array-popup-content" };
|
|
469156
|
+
const _hoisted_2$l = {
|
|
468847
469157
|
key: 0,
|
|
468848
469158
|
class: "array-popup-title"
|
|
468849
469159
|
};
|
|
468850
|
-
const _hoisted_3$
|
|
469160
|
+
const _hoisted_3$k = {
|
|
468851
469161
|
key: 1,
|
|
468852
469162
|
class: "array-popup-description"
|
|
468853
469163
|
};
|
|
468854
|
-
const _hoisted_4$
|
|
469164
|
+
const _hoisted_4$k = {
|
|
468855
469165
|
key: 2,
|
|
468856
469166
|
class: "view-switch"
|
|
468857
469167
|
};
|
|
468858
|
-
const _hoisted_5$
|
|
469168
|
+
const _hoisted_5$k = {
|
|
468859
469169
|
key: 3,
|
|
468860
469170
|
class: "search-container"
|
|
468861
469171
|
};
|
|
@@ -468919,7 +469229,7 @@ ${this.attributes_.map(
|
|
|
468919
469229
|
class: "empty-data"
|
|
468920
469230
|
};
|
|
468921
469231
|
const _hoisted_44$1 = { class: "empty-text" };
|
|
468922
|
-
const _sfc_main$
|
|
469232
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
468923
469233
|
__name: "ArrayPopup",
|
|
468924
469234
|
props: {
|
|
468925
469235
|
config: {},
|
|
@@ -469065,7 +469375,7 @@ ${this.attributes_.map(
|
|
|
469065
469375
|
}
|
|
469066
469376
|
});
|
|
469067
469377
|
return (_ctx, _cache) => {
|
|
469068
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
469378
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
469069
469379
|
config: _ctx.config,
|
|
469070
469380
|
coordinate: _ctx.coordinate,
|
|
469071
469381
|
feature: _ctx.feature,
|
|
@@ -469076,10 +469386,10 @@ ${this.attributes_.map(
|
|
|
469076
469386
|
onHide: _cache[8] || (_cache[8] = ($event) => _ctx.$emit("hide"))
|
|
469077
469387
|
}, {
|
|
469078
469388
|
default: vue.withCtx(() => [
|
|
469079
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
469080
|
-
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
469081
|
-
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
469082
|
-
_ctx.config.allowViewSwitch ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
469389
|
+
vue.createElementVNode("div", _hoisted_1$n, [
|
|
469390
|
+
_ctx.config.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$l, vue.toDisplayString(resolveTitle()), 1)) : vue.createCommentVNode("", true),
|
|
469391
|
+
_ctx.config.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$k, vue.toDisplayString(_ctx.config.description), 1)) : vue.createCommentVNode("", true),
|
|
469392
|
+
_ctx.config.allowViewSwitch ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$k, [
|
|
469083
469393
|
vue.createVNode(vue.unref(ElButton), {
|
|
469084
469394
|
class: vue.normalizeClass(["view-btn", { active: currentView.value === "table" }]),
|
|
469085
469395
|
onClick: _cache[0] || (_cache[0] = ($event) => setView("table")),
|
|
@@ -469114,7 +469424,7 @@ ${this.attributes_.map(
|
|
|
469114
469424
|
_: 1
|
|
469115
469425
|
}, 8, ["class", "type"])
|
|
469116
469426
|
])) : vue.createCommentVNode("", true),
|
|
469117
|
-
_ctx.config.searchable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$
|
|
469427
|
+
_ctx.config.searchable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$k, [
|
|
469118
469428
|
vue.createVNode(vue.unref(ElInput), {
|
|
469119
469429
|
modelValue: searchQuery.value,
|
|
469120
469430
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchQuery.value = $event),
|
|
@@ -469500,7 +469810,7 @@ ${this.attributes_.map(
|
|
|
469500
469810
|
let app = null;
|
|
469501
469811
|
switch (type) {
|
|
469502
469812
|
case "html":
|
|
469503
|
-
app = vue.createApp(_sfc_main$
|
|
469813
|
+
app = vue.createApp(_sfc_main$q, {
|
|
469504
469814
|
id: popupId,
|
|
469505
469815
|
config: { ...this.config.defaultConfig, ...config },
|
|
469506
469816
|
coordinate,
|
|
@@ -469510,7 +469820,7 @@ ${this.attributes_.map(
|
|
|
469510
469820
|
});
|
|
469511
469821
|
break;
|
|
469512
469822
|
case "image":
|
|
469513
|
-
app = vue.createApp(_sfc_main$
|
|
469823
|
+
app = vue.createApp(_sfc_main$p, {
|
|
469514
469824
|
id: popupId,
|
|
469515
469825
|
config: { ...this.config.defaultConfig, ...config },
|
|
469516
469826
|
coordinate,
|
|
@@ -469520,7 +469830,7 @@ ${this.attributes_.map(
|
|
|
469520
469830
|
});
|
|
469521
469831
|
break;
|
|
469522
469832
|
case "array":
|
|
469523
|
-
app = vue.createApp(_sfc_main$
|
|
469833
|
+
app = vue.createApp(_sfc_main$o, {
|
|
469524
469834
|
id: popupId,
|
|
469525
469835
|
config: { ...this.config.defaultConfig, ...config },
|
|
469526
469836
|
coordinate,
|
|
@@ -469536,7 +469846,7 @@ ${this.attributes_.map(
|
|
|
469536
469846
|
case "all":
|
|
469537
469847
|
const allConfig = config;
|
|
469538
469848
|
if (allConfig.htmlContent) {
|
|
469539
|
-
app = vue.createApp(_sfc_main$
|
|
469849
|
+
app = vue.createApp(_sfc_main$q, {
|
|
469540
469850
|
id: popupId,
|
|
469541
469851
|
config: {
|
|
469542
469852
|
...allConfig,
|
|
@@ -469548,7 +469858,7 @@ ${this.attributes_.map(
|
|
|
469548
469858
|
onClose: () => this.closePopup(popupId)
|
|
469549
469859
|
});
|
|
469550
469860
|
} else if (allConfig.images) {
|
|
469551
|
-
app = vue.createApp(_sfc_main$
|
|
469861
|
+
app = vue.createApp(_sfc_main$p, {
|
|
469552
469862
|
id: popupId,
|
|
469553
469863
|
config: {
|
|
469554
469864
|
...allConfig,
|
|
@@ -469560,7 +469870,7 @@ ${this.attributes_.map(
|
|
|
469560
469870
|
onClose: () => this.closePopup(popupId)
|
|
469561
469871
|
});
|
|
469562
469872
|
} else if (allConfig.data) {
|
|
469563
|
-
app = vue.createApp(_sfc_main$
|
|
469873
|
+
app = vue.createApp(_sfc_main$o, {
|
|
469564
469874
|
id: popupId,
|
|
469565
469875
|
config: {
|
|
469566
469876
|
...allConfig,
|
|
@@ -469576,7 +469886,7 @@ ${this.attributes_.map(
|
|
|
469576
469886
|
}
|
|
469577
469887
|
});
|
|
469578
469888
|
} else {
|
|
469579
|
-
app = vue.createApp(_sfc_main$
|
|
469889
|
+
app = vue.createApp(_sfc_main$r, {
|
|
469580
469890
|
id: popupId,
|
|
469581
469891
|
config: allConfig,
|
|
469582
469892
|
coordinate,
|
|
@@ -469599,7 +469909,7 @@ ${this.attributes_.map(
|
|
|
469599
469909
|
},
|
|
469600
469910
|
render() {
|
|
469601
469911
|
return vue.h(
|
|
469602
|
-
_sfc_main$
|
|
469912
|
+
_sfc_main$r,
|
|
469603
469913
|
{ config: this.cfg, coordinate: this.coordinate, feature: this.feature, visible: true, id: popupId, onClose: this.onClose },
|
|
469604
469914
|
{ default: () => vue.h(this.CustomComp, { ...this.computedProps, feature: this.feature, coordinate: this.coordinate, config: this.cfg }) }
|
|
469605
469915
|
);
|
|
@@ -469883,7 +470193,11 @@ ${this.attributes_.map(
|
|
|
469883
470193
|
initMap(targetId) {
|
|
469884
470194
|
var _a3;
|
|
469885
470195
|
const projection2 = this.config.projection || "EPSG:4326";
|
|
469886
|
-
if (
|
|
470196
|
+
if (this.config.projectionDefinition) {
|
|
470197
|
+
proj4$1.defs(projection2, this.config.projectionDefinition);
|
|
470198
|
+
register$3(proj4$1);
|
|
470199
|
+
}
|
|
470200
|
+
if (projection2 === "EPSG:4490" && !this.config.projectionDefinition) {
|
|
469887
470201
|
setupEPSG4490();
|
|
469888
470202
|
}
|
|
469889
470203
|
const center2 = this.config.center || [116.404, 39.915];
|
|
@@ -470596,13 +470910,13 @@ ${this.attributes_.map(
|
|
|
470596
470910
|
this.map = null;
|
|
470597
470911
|
}
|
|
470598
470912
|
}
|
|
470599
|
-
const _hoisted_1$
|
|
470600
|
-
const _hoisted_2$
|
|
470913
|
+
const _hoisted_1$m = ["id"];
|
|
470914
|
+
const _hoisted_2$k = {
|
|
470601
470915
|
class: "absolute top-0 left-0 w-full h-full z-2000",
|
|
470602
470916
|
"element-loading-text": "地图加载中...",
|
|
470603
470917
|
"element-loading-background": "rgba(0, 0, 0, 0.3)"
|
|
470604
470918
|
};
|
|
470605
|
-
const _sfc_main$
|
|
470919
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
470606
470920
|
__name: "MapContainer",
|
|
470607
470921
|
props: {
|
|
470608
470922
|
config: {},
|
|
@@ -470785,8 +471099,8 @@ ${this.attributes_.map(
|
|
|
470785
471099
|
vue.createElementVNode("div", {
|
|
470786
471100
|
id: mapId.value,
|
|
470787
471101
|
class: "w-full h-full bg-gray-100"
|
|
470788
|
-
}, null, 8, _hoisted_1$
|
|
470789
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
471102
|
+
}, null, 8, _hoisted_1$m),
|
|
471103
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$k, null, 512), [
|
|
470790
471104
|
[vue.vShow, _ctx.loading],
|
|
470791
471105
|
[_directive_loading, _ctx.loading]
|
|
470792
471106
|
])
|
|
@@ -470795,8 +471109,8 @@ ${this.attributes_.map(
|
|
|
470795
471109
|
}
|
|
470796
471110
|
});
|
|
470797
471111
|
const MapContainer_vue_vue_type_style_index_0_lang = "";
|
|
470798
|
-
const _hoisted_1$
|
|
470799
|
-
const _sfc_main$
|
|
471112
|
+
const _hoisted_1$l = ["href"];
|
|
471113
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
470800
471114
|
__name: "index",
|
|
470801
471115
|
props: {
|
|
470802
471116
|
prefix: { default: "icon" },
|
|
@@ -470814,7 +471128,7 @@ ${this.attributes_.map(
|
|
|
470814
471128
|
class: computedClass.value,
|
|
470815
471129
|
"aria-hidden": "true"
|
|
470816
471130
|
}, _ctx.$attrs), [
|
|
470817
|
-
vue.createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$
|
|
471131
|
+
vue.createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$l)
|
|
470818
471132
|
], 16);
|
|
470819
471133
|
};
|
|
470820
471134
|
}
|
|
@@ -471015,14 +471329,14 @@ ${this.attributes_.map(
|
|
|
471015
471329
|
}
|
|
471016
471330
|
const dialogCacheManager = new DialogCacheManager();
|
|
471017
471331
|
const dialogCacheManager$1 = dialogCacheManager;
|
|
471018
|
-
const _hoisted_1$
|
|
471019
|
-
const _hoisted_2$
|
|
471020
|
-
const _hoisted_3$
|
|
471021
|
-
const _hoisted_4$
|
|
471332
|
+
const _hoisted_1$k = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
471333
|
+
const _hoisted_2$j = { class: "flex items-center gap-2" };
|
|
471334
|
+
const _hoisted_3$j = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
471335
|
+
const _hoisted_4$j = {
|
|
471022
471336
|
key: 0,
|
|
471023
471337
|
class: "px-5 py-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3"
|
|
471024
471338
|
};
|
|
471025
|
-
const _hoisted_5$
|
|
471339
|
+
const _hoisted_5$j = ["onMousedown"];
|
|
471026
471340
|
const _hoisted_6$f = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
471027
471341
|
const _hoisted_7$d = { class: "flex items-center gap-2" };
|
|
471028
471342
|
const _hoisted_8$a = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
@@ -471034,7 +471348,7 @@ ${this.attributes_.map(
|
|
|
471034
471348
|
key: 1,
|
|
471035
471349
|
class: "absolute top-0 left-0 w-full h-full pointer-events-none"
|
|
471036
471350
|
};
|
|
471037
|
-
const _sfc_main$
|
|
471351
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
471038
471352
|
...{
|
|
471039
471353
|
inheritAttrs: false
|
|
471040
471354
|
},
|
|
@@ -471525,12 +471839,12 @@ ${this.attributes_.map(
|
|
|
471525
471839
|
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 }]),
|
|
471526
471840
|
onMousedown: startDrag
|
|
471527
471841
|
}, [
|
|
471528
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
471842
|
+
vue.createElementVNode("div", _hoisted_1$k, [
|
|
471529
471843
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
471530
471844
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
471531
471845
|
])
|
|
471532
471846
|
]),
|
|
471533
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
471847
|
+
vue.createElementVNode("div", _hoisted_2$j, [
|
|
471534
471848
|
_ctx.showFullscreen ? (vue.openBlock(), vue.createBlock(vue.unref(ElButton), {
|
|
471535
471849
|
key: 0,
|
|
471536
471850
|
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",
|
|
@@ -471538,7 +471852,7 @@ ${this.attributes_.map(
|
|
|
471538
471852
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471539
471853
|
}, {
|
|
471540
471854
|
default: vue.withCtx(() => [
|
|
471541
|
-
vue.createVNode(_sfc_main$
|
|
471855
|
+
vue.createVNode(_sfc_main$m, {
|
|
471542
471856
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471543
471857
|
}, null, 8, ["name"])
|
|
471544
471858
|
]),
|
|
@@ -471551,16 +471865,16 @@ ${this.attributes_.map(
|
|
|
471551
471865
|
title: "关闭"
|
|
471552
471866
|
}, {
|
|
471553
471867
|
default: vue.withCtx(() => [
|
|
471554
|
-
vue.createVNode(_sfc_main$
|
|
471868
|
+
vue.createVNode(_sfc_main$m, { name: "close" })
|
|
471555
471869
|
]),
|
|
471556
471870
|
_: 1
|
|
471557
471871
|
})) : vue.createCommentVNode("", true)
|
|
471558
471872
|
])
|
|
471559
471873
|
], 34),
|
|
471560
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
471874
|
+
vue.createElementVNode("div", _hoisted_3$j, [
|
|
471561
471875
|
vue.renderSlot(_ctx.$slots, "default")
|
|
471562
471876
|
]),
|
|
471563
|
-
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$
|
|
471877
|
+
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$j, [
|
|
471564
471878
|
vue.renderSlot(_ctx.$slots, "footer")
|
|
471565
471879
|
])) : vue.createCommentVNode("", true),
|
|
471566
471880
|
_ctx.resizable && !isFullscreen.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(resizeDirections, (direction2) => {
|
|
@@ -471568,7 +471882,7 @@ ${this.attributes_.map(
|
|
|
471568
471882
|
key: direction2,
|
|
471569
471883
|
class: vue.normalizeClass(`absolute bg-transparent z-10 pointer-events-auto resize-${direction2}`),
|
|
471570
471884
|
onMousedown: ($event) => startResize($event, direction2)
|
|
471571
|
-
}, null, 42, _hoisted_5$
|
|
471885
|
+
}, null, 42, _hoisted_5$j);
|
|
471572
471886
|
}), 64)) : vue.createCommentVNode("", true)
|
|
471573
471887
|
], 16)
|
|
471574
471888
|
], 6)) : vue.createCommentVNode("", true)
|
|
@@ -471621,7 +471935,7 @@ ${this.attributes_.map(
|
|
|
471621
471935
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
471622
471936
|
}, {
|
|
471623
471937
|
default: vue.withCtx(() => [
|
|
471624
|
-
vue.createVNode(_sfc_main$
|
|
471938
|
+
vue.createVNode(_sfc_main$m, {
|
|
471625
471939
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
471626
471940
|
}, null, 8, ["name"])
|
|
471627
471941
|
]),
|
|
@@ -471634,7 +471948,7 @@ ${this.attributes_.map(
|
|
|
471634
471948
|
title: "关闭"
|
|
471635
471949
|
}, {
|
|
471636
471950
|
default: vue.withCtx(() => [
|
|
471637
|
-
vue.createVNode(_sfc_main$
|
|
471951
|
+
vue.createVNode(_sfc_main$m, { name: "close" })
|
|
471638
471952
|
]),
|
|
471639
471953
|
_: 1
|
|
471640
471954
|
})) : vue.createCommentVNode("", true)
|
|
@@ -471696,13 +472010,13 @@ ${this.attributes_.map(
|
|
|
471696
472010
|
const tencentVecUrl = "data:image/png;base64,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";
|
|
471697
472011
|
const osmUrl = "data:image/png;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2YyZjJmMiIvPgogIDxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNjY2NjY2MiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0yMCAzMCBMNDAgMjAgTDYwIDM1IEw4MCAyNSBMODAgNzAgTDYwIDc1IEw0MCA2MCBMMjAgNzAgWiIgZmlsbD0iIzdkZDNjMCIgc3Ryb2tlPSIjNWNiM2EwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8Y2lyY2xlIGN4PSIzNSIgY3k9IjQ1IiByPSIzIiBmaWxsPSIjZmY2YjZiIi8+CiAgPGNpcmNsZSBjeD0iNTUiIGN5PSIzNSIgcj0iMiIgZmlsbD0iIzRlY2RjNCIvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iNTUiIHI9IjIiIGZpbGw9IiM0NWI3ZDEiLz4KICA8dGV4dCB4PSI1MCIgeT0iOTAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzY2NiI+T1NNPC90ZXh0Pgo8L3N2Zz4=";
|
|
471698
472012
|
const customBlueUrl = "data:image/png;base64,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";
|
|
471699
|
-
const _hoisted_1$
|
|
471700
|
-
const _hoisted_2$
|
|
471701
|
-
const _hoisted_3$
|
|
471702
|
-
const _hoisted_4$
|
|
471703
|
-
const _hoisted_5$
|
|
472013
|
+
const _hoisted_1$j = { class: "basemap-content" };
|
|
472014
|
+
const _hoisted_2$i = { class: "basemap-grid" };
|
|
472015
|
+
const _hoisted_3$i = ["onClick"];
|
|
472016
|
+
const _hoisted_4$i = { class: "basemap-preview" };
|
|
472017
|
+
const _hoisted_5$i = ["src", "alt"];
|
|
471704
472018
|
const _hoisted_6$e = { class: "basemap-name" };
|
|
471705
|
-
const _sfc_main$
|
|
472019
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
471706
472020
|
__name: "BasemapPanel",
|
|
471707
472021
|
props: {
|
|
471708
472022
|
modelValue: { type: Boolean }
|
|
@@ -471917,7 +472231,7 @@ ${this.attributes_.map(
|
|
|
471917
472231
|
}
|
|
471918
472232
|
};
|
|
471919
472233
|
return (_ctx, _cache) => {
|
|
471920
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
472234
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
471921
472235
|
modelValue: visible.value,
|
|
471922
472236
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
471923
472237
|
title: "底图选择",
|
|
@@ -471933,23 +472247,23 @@ ${this.attributes_.map(
|
|
|
471933
472247
|
onClose: handleClose
|
|
471934
472248
|
}, {
|
|
471935
472249
|
default: vue.withCtx(() => [
|
|
471936
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
471937
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
472250
|
+
vue.createElementVNode("div", _hoisted_1$j, [
|
|
472251
|
+
vue.createElementVNode("div", _hoisted_2$i, [
|
|
471938
472252
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayBasemaps.value, (basemap) => {
|
|
471939
472253
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
471940
472254
|
key: basemap.id,
|
|
471941
472255
|
class: vue.normalizeClass(["basemap-item", { active: selectedBasemap.value === basemap.id }]),
|
|
471942
472256
|
onClick: ($event) => selectBasemap(basemap)
|
|
471943
472257
|
}, [
|
|
471944
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
472258
|
+
vue.createElementVNode("div", _hoisted_4$i, [
|
|
471945
472259
|
vue.createElementVNode("img", {
|
|
471946
472260
|
src: basemap.thumbnail,
|
|
471947
472261
|
alt: basemap.name,
|
|
471948
472262
|
loading: "lazy"
|
|
471949
|
-
}, null, 8, _hoisted_5$
|
|
472263
|
+
}, null, 8, _hoisted_5$i)
|
|
471950
472264
|
]),
|
|
471951
472265
|
vue.createElementVNode("div", _hoisted_6$e, vue.toDisplayString(basemap.name), 1)
|
|
471952
|
-
], 10, _hoisted_3$
|
|
472266
|
+
], 10, _hoisted_3$i);
|
|
471953
472267
|
}), 128))
|
|
471954
472268
|
])
|
|
471955
472269
|
])
|
|
@@ -472291,15 +472605,15 @@ ${this.attributes_.map(
|
|
|
472291
472605
|
function createOverviewMapUtil() {
|
|
472292
472606
|
return new OverviewMapUtil();
|
|
472293
472607
|
}
|
|
472294
|
-
const _hoisted_1$
|
|
472295
|
-
const _hoisted_2$
|
|
472296
|
-
const _hoisted_3$
|
|
472297
|
-
const _hoisted_4$
|
|
472298
|
-
const _hoisted_5$
|
|
472608
|
+
const _hoisted_1$i = { class: "measurement-content h-full flex flex-col" };
|
|
472609
|
+
const _hoisted_2$h = { class: "measurement-header flex justify-between items-center px-6 py-4" };
|
|
472610
|
+
const _hoisted_3$h = { class: "measurement-result py-8 text-center" };
|
|
472611
|
+
const _hoisted_4$h = { class: "result-value" };
|
|
472612
|
+
const _hoisted_5$h = { class: "tool-grid flex-1 py-5" };
|
|
472299
472613
|
const _hoisted_6$d = ["onClick"];
|
|
472300
472614
|
const _hoisted_7$c = ["src", "alt"];
|
|
472301
472615
|
const _hoisted_8$9 = { class: "tool-label" };
|
|
472302
|
-
const _sfc_main$
|
|
472616
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
472303
472617
|
__name: "MeasurementDialog",
|
|
472304
472618
|
props: {
|
|
472305
472619
|
modelValue: { type: Boolean }
|
|
@@ -472531,7 +472845,7 @@ ${this.attributes_.map(
|
|
|
472531
472845
|
const _component_el_option_group = vue.resolveComponent("el-option-group");
|
|
472532
472846
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
472533
472847
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
472534
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
472848
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
472535
472849
|
modelValue: dialogVisible.value,
|
|
472536
472850
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
472537
472851
|
title: "图上量算",
|
|
@@ -472541,8 +472855,8 @@ ${this.attributes_.map(
|
|
|
472541
472855
|
cacheId: "measurement-dialog"
|
|
472542
472856
|
}, {
|
|
472543
472857
|
default: vue.withCtx(() => [
|
|
472544
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
472545
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
472858
|
+
vue.createElementVNode("div", _hoisted_1$i, [
|
|
472859
|
+
vue.createElementVNode("div", _hoisted_2$h, [
|
|
472546
472860
|
vue.createVNode(_component_el_select, {
|
|
472547
472861
|
modelValue: selectedUnit.value,
|
|
472548
472862
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedUnit.value = $event),
|
|
@@ -472610,10 +472924,10 @@ ${this.attributes_.map(
|
|
|
472610
472924
|
_: 1
|
|
472611
472925
|
})
|
|
472612
472926
|
]),
|
|
472613
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
472614
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
472927
|
+
vue.createElementVNode("div", _hoisted_3$h, [
|
|
472928
|
+
vue.createElementVNode("div", _hoisted_4$h, vue.toDisplayString(getDisplayValue()), 1)
|
|
472615
472929
|
]),
|
|
472616
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
472930
|
+
vue.createElementVNode("div", _hoisted_5$h, [
|
|
472617
472931
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(measurementTools, (tool) => {
|
|
472618
472932
|
return vue.createElementVNode("div", {
|
|
472619
472933
|
key: tool.type,
|
|
@@ -472644,13 +472958,13 @@ ${this.attributes_.map(
|
|
|
472644
472958
|
}
|
|
472645
472959
|
return target;
|
|
472646
472960
|
};
|
|
472647
|
-
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
472648
|
-
const _hoisted_1$
|
|
472649
|
-
const _hoisted_2$
|
|
472650
|
-
const _hoisted_3$
|
|
472651
|
-
const _hoisted_4$
|
|
472652
|
-
const _hoisted_5$
|
|
472653
|
-
const _sfc_main$
|
|
472961
|
+
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d868b567"]]);
|
|
472962
|
+
const _hoisted_1$h = { class: "coordinate-content" };
|
|
472963
|
+
const _hoisted_2$g = { class: "format-selection" };
|
|
472964
|
+
const _hoisted_3$g = { class: "format-options" };
|
|
472965
|
+
const _hoisted_4$g = { class: "coordinate-input" };
|
|
472966
|
+
const _hoisted_5$g = { class: "dialog-footer" };
|
|
472967
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
472654
472968
|
__name: "CoordinateLocationDialog",
|
|
472655
472969
|
props: {
|
|
472656
472970
|
modelValue: { type: Boolean }
|
|
@@ -472800,7 +473114,7 @@ ${this.attributes_.map(
|
|
|
472800
473114
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
472801
473115
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
472802
473116
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
472803
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
473117
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
472804
473118
|
modelValue: dialogVisible.value,
|
|
472805
473119
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
|
|
472806
473120
|
title: "坐标拾取",
|
|
@@ -472811,7 +473125,7 @@ ${this.attributes_.map(
|
|
|
472811
473125
|
class: "coordinate-dialog"
|
|
472812
473126
|
}, {
|
|
472813
473127
|
footer: vue.withCtx(() => [
|
|
472814
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
473128
|
+
vue.createElementVNode("div", _hoisted_5$g, [
|
|
472815
473129
|
vue.createVNode(_component_el_button, {
|
|
472816
473130
|
type: "primary",
|
|
472817
473131
|
onClick: getCurrentLocation
|
|
@@ -472833,10 +473147,10 @@ ${this.attributes_.map(
|
|
|
472833
473147
|
])
|
|
472834
473148
|
]),
|
|
472835
473149
|
default: vue.withCtx(() => [
|
|
472836
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
472837
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
473150
|
+
vue.createElementVNode("div", _hoisted_1$h, [
|
|
473151
|
+
vue.createElementVNode("div", _hoisted_2$g, [
|
|
472838
473152
|
_cache[6] || (_cache[6] = vue.createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
|
|
472839
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
473153
|
+
vue.createElementVNode("div", _hoisted_3$g, [
|
|
472840
473154
|
vue.createVNode(_component_el_radio_group, {
|
|
472841
473155
|
modelValue: selectedFormat.value,
|
|
472842
473156
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
|
|
@@ -472860,7 +473174,7 @@ ${this.attributes_.map(
|
|
|
472860
473174
|
}, 8, ["modelValue"])
|
|
472861
473175
|
])
|
|
472862
473176
|
]),
|
|
472863
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
473177
|
+
vue.createElementVNode("div", _hoisted_4$g, [
|
|
472864
473178
|
vue.createVNode(_component_el_form, {
|
|
472865
473179
|
model: coordinateForm,
|
|
472866
473180
|
"label-width": "60px"
|
|
@@ -472902,14 +473216,14 @@ ${this.attributes_.map(
|
|
|
472902
473216
|
}
|
|
472903
473217
|
});
|
|
472904
473218
|
const CoordinateLocationDialog_vue_vue_type_style_index_0_lang = "";
|
|
472905
|
-
const _hoisted_1$
|
|
472906
|
-
const _hoisted_2$
|
|
473219
|
+
const _hoisted_1$g = { class: "region-content" };
|
|
473220
|
+
const _hoisted_2$f = {
|
|
472907
473221
|
key: 0,
|
|
472908
473222
|
class: "region-categories"
|
|
472909
473223
|
};
|
|
472910
|
-
const _hoisted_3$
|
|
472911
|
-
const _hoisted_4$
|
|
472912
|
-
const _hoisted_5$
|
|
473224
|
+
const _hoisted_3$f = { class: "region-group" };
|
|
473225
|
+
const _hoisted_4$f = { class: "region-items" };
|
|
473226
|
+
const _hoisted_5$f = { class: "region-group" };
|
|
472913
473227
|
const _hoisted_6$c = { class: "region-items" };
|
|
472914
473228
|
const _hoisted_7$b = { class: "region-group" };
|
|
472915
473229
|
const _hoisted_8$8 = { class: "region-items" };
|
|
@@ -472928,7 +473242,7 @@ ${this.attributes_.map(
|
|
|
472928
473242
|
class: "sub-regions"
|
|
472929
473243
|
};
|
|
472930
473244
|
const _hoisted_20$4 = { class: "district-grid" };
|
|
472931
|
-
const _sfc_main$
|
|
473245
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
472932
473246
|
__name: "RegionNavigationDialog",
|
|
472933
473247
|
props: {
|
|
472934
473248
|
modelValue: { type: Boolean }
|
|
@@ -474013,7 +474327,7 @@ ${this.attributes_.map(
|
|
|
474013
474327
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
474014
474328
|
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
|
|
474015
474329
|
const _component_el_tabs = vue.resolveComponent("el-tabs");
|
|
474016
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
474330
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
474017
474331
|
modelValue: dialogVisible.value,
|
|
474018
474332
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
474019
474333
|
title: "地区导航",
|
|
@@ -474024,7 +474338,7 @@ ${this.attributes_.map(
|
|
|
474024
474338
|
class: "region-dialog"
|
|
474025
474339
|
}, {
|
|
474026
474340
|
default: vue.withCtx(() => [
|
|
474027
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
474341
|
+
vue.createElementVNode("div", _hoisted_1$g, [
|
|
474028
474342
|
vue.createVNode(_component_el_tabs, {
|
|
474029
474343
|
modelValue: activeTab.value,
|
|
474030
474344
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
@@ -474042,10 +474356,10 @@ ${this.attributes_.map(
|
|
|
474042
474356
|
closable: index2 > 0
|
|
474043
474357
|
}, {
|
|
474044
474358
|
default: vue.withCtx(() => [
|
|
474045
|
-
tab.name === "china" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
474046
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
474359
|
+
tab.name === "china" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
|
|
474360
|
+
vue.createElementVNode("div", _hoisted_3$f, [
|
|
474047
474361
|
_cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "group-title" }, "华北", -1)),
|
|
474048
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
474362
|
+
vue.createElementVNode("div", _hoisted_4$f, [
|
|
474049
474363
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(regions.north, (region) => {
|
|
474050
474364
|
return vue.openBlock(), vue.createBlock(_component_el_button, {
|
|
474051
474365
|
key: region.code,
|
|
@@ -474061,7 +474375,7 @@ ${this.attributes_.map(
|
|
|
474061
474375
|
}), 128))
|
|
474062
474376
|
])
|
|
474063
474377
|
]),
|
|
474064
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
474378
|
+
vue.createElementVNode("div", _hoisted_5$f, [
|
|
474065
474379
|
_cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "group-title" }, "东北", -1)),
|
|
474066
474380
|
vue.createElementVNode("div", _hoisted_6$c, [
|
|
474067
474381
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(regions.northeast, (region) => {
|
|
@@ -474218,12 +474532,12 @@ ${this.attributes_.map(
|
|
|
474218
474532
|
}
|
|
474219
474533
|
});
|
|
474220
474534
|
const RegionNavigationDialog_vue_vue_type_style_index_0_lang = "";
|
|
474221
|
-
const _hoisted_1$
|
|
474222
|
-
const _hoisted_2$
|
|
474223
|
-
const _hoisted_3$
|
|
474224
|
-
const _hoisted_4$
|
|
474225
|
-
const _hoisted_5$
|
|
474226
|
-
const _sfc_main$
|
|
474535
|
+
const _hoisted_1$f = { class: "markers-content" };
|
|
474536
|
+
const _hoisted_2$e = { class: "toolbar" };
|
|
474537
|
+
const _hoisted_3$e = { class: "search-filter" };
|
|
474538
|
+
const _hoisted_4$e = { class: "markers-list" };
|
|
474539
|
+
const _hoisted_5$e = { class: "marker-name" };
|
|
474540
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
474227
474541
|
__name: "MyMarkersDialog",
|
|
474228
474542
|
props: {
|
|
474229
474543
|
modelValue: { type: Boolean }
|
|
@@ -474549,7 +474863,7 @@ ${this.attributes_.map(
|
|
|
474549
474863
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
474550
474864
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
474551
474865
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
474552
|
-
vue.createVNode(_sfc_main$
|
|
474866
|
+
vue.createVNode(_sfc_main$l, {
|
|
474553
474867
|
modelValue: dialogVisible.value,
|
|
474554
474868
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
|
|
474555
474869
|
title: "我的标记",
|
|
@@ -474560,8 +474874,8 @@ ${this.attributes_.map(
|
|
|
474560
474874
|
class: "markers-dialog"
|
|
474561
474875
|
}, {
|
|
474562
474876
|
default: vue.withCtx(() => [
|
|
474563
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
474564
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
474877
|
+
vue.createElementVNode("div", _hoisted_1$f, [
|
|
474878
|
+
vue.createElementVNode("div", _hoisted_2$e, [
|
|
474565
474879
|
vue.createVNode(_component_el_button, {
|
|
474566
474880
|
type: "primary",
|
|
474567
474881
|
icon: vue.unref(plus_default),
|
|
@@ -474602,7 +474916,7 @@ ${this.attributes_.map(
|
|
|
474602
474916
|
_: 1
|
|
474603
474917
|
}, 8, ["icon", "disabled"])
|
|
474604
474918
|
]),
|
|
474605
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
474919
|
+
vue.createElementVNode("div", _hoisted_3$e, [
|
|
474606
474920
|
vue.createVNode(_component_el_input, {
|
|
474607
474921
|
modelValue: searchKeyword.value,
|
|
474608
474922
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -474635,7 +474949,7 @@ ${this.attributes_.map(
|
|
|
474635
474949
|
_: 1
|
|
474636
474950
|
}, 8, ["modelValue"])
|
|
474637
474951
|
]),
|
|
474638
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
474952
|
+
vue.createElementVNode("div", _hoisted_4$e, [
|
|
474639
474953
|
vue.createVNode(_component_el_table, {
|
|
474640
474954
|
data: filteredMarkers.value,
|
|
474641
474955
|
height: "300",
|
|
@@ -474649,7 +474963,7 @@ ${this.attributes_.map(
|
|
|
474649
474963
|
width: "120"
|
|
474650
474964
|
}, {
|
|
474651
474965
|
default: vue.withCtx(({ row }) => [
|
|
474652
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
474966
|
+
vue.createElementVNode("div", _hoisted_5$e, [
|
|
474653
474967
|
vue.createVNode(_component_el_icon, {
|
|
474654
474968
|
color: row.color,
|
|
474655
474969
|
size: "16"
|
|
@@ -474723,7 +475037,7 @@ ${this.attributes_.map(
|
|
|
474723
475037
|
]),
|
|
474724
475038
|
_: 1
|
|
474725
475039
|
}, 8, ["modelValue"]),
|
|
474726
|
-
vue.createVNode(_sfc_main$
|
|
475040
|
+
vue.createVNode(_sfc_main$l, {
|
|
474727
475041
|
modelValue: showAddDialog.value,
|
|
474728
475042
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showAddDialog.value = $event),
|
|
474729
475043
|
title: "添加标记",
|
|
@@ -474795,11 +475109,11 @@ ${this.attributes_.map(
|
|
|
474795
475109
|
}
|
|
474796
475110
|
});
|
|
474797
475111
|
const MyMarkersDialog_vue_vue_type_style_index_0_lang = "";
|
|
474798
|
-
const _hoisted_1$
|
|
474799
|
-
const _hoisted_2$
|
|
474800
|
-
const _hoisted_3$
|
|
474801
|
-
const _hoisted_4$
|
|
474802
|
-
const _hoisted_5$
|
|
475112
|
+
const _hoisted_1$e = { class: "bookmarks-content" };
|
|
475113
|
+
const _hoisted_2$d = { class: "toolbar" };
|
|
475114
|
+
const _hoisted_3$d = { class: "search-filter" };
|
|
475115
|
+
const _hoisted_4$d = { class: "bookmarks-grid" };
|
|
475116
|
+
const _hoisted_5$d = ["onClick"];
|
|
474803
475117
|
const _hoisted_6$b = { class: "bookmark-thumbnail" };
|
|
474804
475118
|
const _hoisted_7$a = { class: "thumbnail-placeholder" };
|
|
474805
475119
|
const _hoisted_8$7 = { class: "bookmark-overlay" };
|
|
@@ -474821,7 +475135,7 @@ ${this.attributes_.map(
|
|
|
474821
475135
|
class: "statistics"
|
|
474822
475136
|
};
|
|
474823
475137
|
const _hoisted_20$3 = { class: "dialog-footer" };
|
|
474824
|
-
const _sfc_main$
|
|
475138
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
474825
475139
|
__name: "ViewBookmarksDialog",
|
|
474826
475140
|
props: {
|
|
474827
475141
|
modelValue: { type: Boolean }
|
|
@@ -475080,7 +475394,7 @@ ${this.attributes_.map(
|
|
|
475080
475394
|
const _component_el_form_item = vue.resolveComponent("el-form-item");
|
|
475081
475395
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
|
475082
475396
|
const _component_el_form = vue.resolveComponent("el-form");
|
|
475083
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
475397
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
475084
475398
|
modelValue: dialogVisible.value,
|
|
475085
475399
|
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
|
|
475086
475400
|
title: "视角书签",
|
|
@@ -475101,8 +475415,8 @@ ${this.attributes_.map(
|
|
|
475101
475415
|
])
|
|
475102
475416
|
]),
|
|
475103
475417
|
default: vue.withCtx(() => [
|
|
475104
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
475105
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
475418
|
+
vue.createElementVNode("div", _hoisted_1$e, [
|
|
475419
|
+
vue.createElementVNode("div", _hoisted_2$d, [
|
|
475106
475420
|
vue.createVNode(_component_el_button, {
|
|
475107
475421
|
type: "primary",
|
|
475108
475422
|
icon: vue.unref(plus_default),
|
|
@@ -475142,7 +475456,7 @@ ${this.attributes_.map(
|
|
|
475142
475456
|
_: 1
|
|
475143
475457
|
}, 8, ["icon", "disabled"])
|
|
475144
475458
|
]),
|
|
475145
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
475459
|
+
vue.createElementVNode("div", _hoisted_3$d, [
|
|
475146
475460
|
vue.createVNode(_component_el_input, {
|
|
475147
475461
|
modelValue: searchKeyword.value,
|
|
475148
475462
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -475197,7 +475511,7 @@ ${this.attributes_.map(
|
|
|
475197
475511
|
_: 1
|
|
475198
475512
|
}, 8, ["modelValue"])
|
|
475199
475513
|
]),
|
|
475200
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
475514
|
+
vue.createElementVNode("div", _hoisted_4$d, [
|
|
475201
475515
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredBookmarks.value, (bookmark, index2) => {
|
|
475202
475516
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
475203
475517
|
key: bookmark.id,
|
|
@@ -475293,7 +475607,7 @@ ${this.attributes_.map(
|
|
|
475293
475607
|
]),
|
|
475294
475608
|
vue.createElementVNode("div", _hoisted_17$4, vue.toDisplayString(formatTime(bookmark.createTime)), 1)
|
|
475295
475609
|
])
|
|
475296
|
-
], 8, _hoisted_5$
|
|
475610
|
+
], 8, _hoisted_5$d);
|
|
475297
475611
|
}), 128))
|
|
475298
475612
|
]),
|
|
475299
475613
|
filteredBookmarks.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$4, [
|
|
@@ -475356,7 +475670,7 @@ ${this.attributes_.map(
|
|
|
475356
475670
|
})
|
|
475357
475671
|
])) : vue.createCommentVNode("", true)
|
|
475358
475672
|
]),
|
|
475359
|
-
vue.createVNode(_sfc_main$
|
|
475673
|
+
vue.createVNode(_sfc_main$l, {
|
|
475360
475674
|
modelValue: showBookmarkForm.value,
|
|
475361
475675
|
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
|
|
475362
475676
|
title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
|
|
@@ -475511,11 +475825,11 @@ ${this.attributes_.map(
|
|
|
475511
475825
|
}
|
|
475512
475826
|
});
|
|
475513
475827
|
const ViewBookmarksDialog_vue_vue_type_style_index_0_lang = "";
|
|
475514
|
-
const _hoisted_1$
|
|
475515
|
-
const _hoisted_2$
|
|
475516
|
-
const _hoisted_3$
|
|
475517
|
-
const _hoisted_4$
|
|
475518
|
-
const _hoisted_5$
|
|
475828
|
+
const _hoisted_1$d = { class: "py-2.5" };
|
|
475829
|
+
const _hoisted_2$c = { class: "h-150 overflow-y-auto" };
|
|
475830
|
+
const _hoisted_3$c = { class: "flex items-center justify-between" };
|
|
475831
|
+
const _hoisted_4$c = { class: "mb-5" };
|
|
475832
|
+
const _hoisted_5$c = { class: "mb-3" };
|
|
475519
475833
|
const _hoisted_6$a = {
|
|
475520
475834
|
key: 0,
|
|
475521
475835
|
class: "mb-3"
|
|
@@ -475600,7 +475914,7 @@ ${this.attributes_.map(
|
|
|
475600
475914
|
const _hoisted_45 = { key: 0 };
|
|
475601
475915
|
const _hoisted_46 = { key: 0 };
|
|
475602
475916
|
const _hoisted_47 = { class: "text-right" };
|
|
475603
|
-
const _sfc_main$
|
|
475917
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
475604
475918
|
__name: "MapPrintDialog",
|
|
475605
475919
|
props: {
|
|
475606
475920
|
modelValue: { type: Boolean },
|
|
@@ -475979,7 +476293,7 @@ ${this.attributes_.map(
|
|
|
475979
476293
|
const _component_el_col = vue.resolveComponent("el-col");
|
|
475980
476294
|
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
475981
476295
|
const _component_el_row = vue.resolveComponent("el-row");
|
|
475982
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
476296
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, {
|
|
475983
476297
|
modelValue: dialogVisible.value,
|
|
475984
476298
|
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => dialogVisible.value = $event),
|
|
475985
476299
|
title: "地图打印",
|
|
@@ -476017,15 +476331,15 @@ ${this.attributes_.map(
|
|
|
476017
476331
|
])
|
|
476018
476332
|
]),
|
|
476019
476333
|
default: vue.withCtx(() => [
|
|
476020
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
476334
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
476021
476335
|
vue.createVNode(_component_el_row, { gutter: 20 }, {
|
|
476022
476336
|
default: vue.withCtx(() => [
|
|
476023
476337
|
vue.createVNode(_component_el_col, { span: 8 }, {
|
|
476024
476338
|
default: vue.withCtx(() => [
|
|
476025
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
476339
|
+
vue.createElementVNode("div", _hoisted_2$c, [
|
|
476026
476340
|
vue.createVNode(_component_el_card, { shadow: "hover" }, {
|
|
476027
476341
|
header: vue.withCtx(() => [
|
|
476028
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
476342
|
+
vue.createElementVNode("div", _hoisted_3$c, [
|
|
476029
476343
|
_cache[18] || (_cache[18] = vue.createElementVNode("span", null, "打印设置", -1)),
|
|
476030
476344
|
vue.createVNode(_component_el_button, {
|
|
476031
476345
|
type: "text",
|
|
@@ -476045,9 +476359,9 @@ ${this.attributes_.map(
|
|
|
476045
476359
|
])
|
|
476046
476360
|
]),
|
|
476047
476361
|
default: vue.withCtx(() => [
|
|
476048
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
476362
|
+
vue.createElementVNode("div", _hoisted_4$c, [
|
|
476049
476363
|
_cache[21] || (_cache[21] = vue.createElementVNode("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "纸张设置", -1)),
|
|
476050
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
476364
|
+
vue.createElementVNode("div", _hoisted_5$c, [
|
|
476051
476365
|
vue.createVNode(_component_el_select, {
|
|
476052
476366
|
modelValue: printSettings.paperSize,
|
|
476053
476367
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => printSettings.paperSize = $event),
|
|
@@ -476589,17 +476903,17 @@ ${this.attributes_.map(
|
|
|
476589
476903
|
const MapPrintDialog_vue_vue_type_style_index_0_lang = "";
|
|
476590
476904
|
const MarkTab_vue_vue_type_style_index_0_scoped_127b85ab_lang = "";
|
|
476591
476905
|
const MarkTab_vue_vue_type_style_index_1_lang = "";
|
|
476592
|
-
const _hoisted_1$
|
|
476593
|
-
const _hoisted_2$
|
|
476594
|
-
const _hoisted_3$
|
|
476595
|
-
const _hoisted_4$
|
|
476596
|
-
const _hoisted_5$
|
|
476906
|
+
const _hoisted_1$c = { class: "mark-tab-container" };
|
|
476907
|
+
const _hoisted_2$b = { class: "continuous-switch" };
|
|
476908
|
+
const _hoisted_3$b = { class: "tools-grid" };
|
|
476909
|
+
const _hoisted_4$b = ["onClick"];
|
|
476910
|
+
const _hoisted_5$b = ["src"];
|
|
476597
476911
|
const _hoisted_6$9 = { class: "tool-label" };
|
|
476598
476912
|
const _hoisted_7$8 = {
|
|
476599
476913
|
key: 0,
|
|
476600
476914
|
class: "stop-drawing-section"
|
|
476601
476915
|
};
|
|
476602
|
-
const _sfc_main$
|
|
476916
|
+
const _sfc_main$d = {
|
|
476603
476917
|
__name: "MarkTab",
|
|
476604
476918
|
setup(__props) {
|
|
476605
476919
|
const mapRef = vue.inject("map");
|
|
@@ -477122,7 +477436,7 @@ ${this.attributes_.map(
|
|
|
477122
477436
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
477123
477437
|
const _component_el_switch = vue.resolveComponent("el-switch");
|
|
477124
477438
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
477125
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
477439
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
|
|
477126
477440
|
vue.createVNode(_component_el_select, {
|
|
477127
477441
|
modelValue: selectedType.value,
|
|
477128
477442
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedType.value = $event),
|
|
@@ -477140,7 +477454,7 @@ ${this.attributes_.map(
|
|
|
477140
477454
|
]),
|
|
477141
477455
|
_: 1
|
|
477142
477456
|
}, 8, ["modelValue"]),
|
|
477143
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477457
|
+
vue.createElementVNode("div", _hoisted_2$b, [
|
|
477144
477458
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "switch-label" }, "连续标绘模式", -1)),
|
|
477145
477459
|
vue.createVNode(_component_el_switch, {
|
|
477146
477460
|
modelValue: continuousDrawing.value,
|
|
@@ -477148,7 +477462,7 @@ ${this.attributes_.map(
|
|
|
477148
477462
|
size: "small"
|
|
477149
477463
|
}, null, 8, ["modelValue"])
|
|
477150
477464
|
]),
|
|
477151
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477465
|
+
vue.createElementVNode("div", _hoisted_3$b, [
|
|
477152
477466
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(currentTools.value, (tool, idx) => {
|
|
477153
477467
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
477154
477468
|
key: idx,
|
|
@@ -477160,12 +477474,12 @@ ${this.attributes_.map(
|
|
|
477160
477474
|
src: tool.icon,
|
|
477161
477475
|
class: "tool-image",
|
|
477162
477476
|
alt: "tool icon"
|
|
477163
|
-
}, null, 8, _hoisted_5$
|
|
477477
|
+
}, null, 8, _hoisted_5$b)) : (vue.openBlock(), vue.createElementBlock("i", {
|
|
477164
477478
|
key: 1,
|
|
477165
477479
|
class: vue.normalizeClass([tool.icon, "tool-icon-large"])
|
|
477166
477480
|
}, null, 2)),
|
|
477167
477481
|
vue.createElementVNode("span", _hoisted_6$9, vue.toDisplayString(tool.label), 1)
|
|
477168
|
-
], 8, _hoisted_4$
|
|
477482
|
+
], 8, _hoisted_4$b);
|
|
477169
477483
|
}), 128))
|
|
477170
477484
|
]),
|
|
477171
477485
|
activeDrawingTool.value && continuousDrawing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$8, [
|
|
@@ -477185,19 +477499,19 @@ ${this.attributes_.map(
|
|
|
477185
477499
|
};
|
|
477186
477500
|
}
|
|
477187
477501
|
};
|
|
477188
|
-
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477502
|
+
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-127b85ab"]]);
|
|
477189
477503
|
const ListTab_vue_vue_type_style_index_0_scoped_1cc008ea_lang = "";
|
|
477190
|
-
const _hoisted_1$
|
|
477191
|
-
const _hoisted_2$
|
|
477192
|
-
const _hoisted_3$
|
|
477193
|
-
const _hoisted_4$
|
|
477194
|
-
const _hoisted_5$
|
|
477504
|
+
const _hoisted_1$b = { class: "list-tab-container" };
|
|
477505
|
+
const _hoisted_2$a = { class: "toolbar" };
|
|
477506
|
+
const _hoisted_3$a = { class: "toolbar-left" };
|
|
477507
|
+
const _hoisted_4$a = { class: "data-count" };
|
|
477508
|
+
const _hoisted_5$a = { class: "list-content" };
|
|
477195
477509
|
const _hoisted_6$8 = { class: "tree-node" };
|
|
477196
477510
|
const _hoisted_7$7 = {
|
|
477197
477511
|
key: 1,
|
|
477198
477512
|
class: "empty-state"
|
|
477199
477513
|
};
|
|
477200
|
-
const _sfc_main$
|
|
477514
|
+
const _sfc_main$c = {
|
|
477201
477515
|
__name: "ListTab",
|
|
477202
477516
|
setup(__props) {
|
|
477203
477517
|
const groups = vue.ref([
|
|
@@ -477218,9 +477532,9 @@ ${this.attributes_.map(
|
|
|
477218
477532
|
return (_ctx, _cache) => {
|
|
477219
477533
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
477220
477534
|
const _component_el_tree = vue.resolveComponent("el-tree");
|
|
477221
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
477222
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477223
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477535
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
477536
|
+
vue.createElementVNode("div", _hoisted_2$a, [
|
|
477537
|
+
vue.createElementVNode("div", _hoisted_3$a, [
|
|
477224
477538
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", { class: "toolbar-title" }, "分组管理:", -1)),
|
|
477225
477539
|
vue.createVNode(_component_el_button, {
|
|
477226
477540
|
type: "primary",
|
|
@@ -477243,9 +477557,9 @@ ${this.attributes_.map(
|
|
|
477243
477557
|
_: 1
|
|
477244
477558
|
})
|
|
477245
477559
|
]),
|
|
477246
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
477560
|
+
vue.createElementVNode("div", _hoisted_4$a, "共" + vue.toDisplayString(groups.value.length) + "条数据", 1)
|
|
477247
477561
|
]),
|
|
477248
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
477562
|
+
vue.createElementVNode("div", _hoisted_5$a, [
|
|
477249
477563
|
groups.value.length ? (vue.openBlock(), vue.createBlock(_component_el_tree, {
|
|
477250
477564
|
key: 0,
|
|
477251
477565
|
data: groups.value,
|
|
@@ -477268,16 +477582,16 @@ ${this.attributes_.map(
|
|
|
477268
477582
|
};
|
|
477269
477583
|
}
|
|
477270
477584
|
};
|
|
477271
|
-
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477585
|
+
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-1cc008ea"]]);
|
|
477272
477586
|
const index_vue_vue_type_style_index_0_scoped_16fc7a81_lang = "";
|
|
477273
|
-
const _hoisted_1$
|
|
477274
|
-
const _hoisted_2$
|
|
477275
|
-
const _hoisted_3$
|
|
477276
|
-
const _hoisted_4$
|
|
477277
|
-
const _hoisted_5$
|
|
477587
|
+
const _hoisted_1$a = { class: "dialog-content" };
|
|
477588
|
+
const _hoisted_2$9 = { class: "toolbar" };
|
|
477589
|
+
const _hoisted_3$9 = { class: "toolbar-left" };
|
|
477590
|
+
const _hoisted_4$9 = ["onClick"];
|
|
477591
|
+
const _hoisted_5$9 = { class: "toolbar-right" };
|
|
477278
477592
|
const _hoisted_6$7 = ["onClick"];
|
|
477279
477593
|
const _hoisted_7$6 = { class: "content-area" };
|
|
477280
|
-
const _sfc_main$
|
|
477594
|
+
const _sfc_main$b = {
|
|
477281
477595
|
__name: "index",
|
|
477282
477596
|
setup(__props) {
|
|
477283
477597
|
const visible = vue.ref(true);
|
|
@@ -477339,9 +477653,9 @@ ${this.attributes_.map(
|
|
|
477339
477653
|
onClose: handleClose
|
|
477340
477654
|
}, {
|
|
477341
477655
|
default: vue.withCtx(() => [
|
|
477342
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
477343
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
477344
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
477656
|
+
vue.createElementVNode("div", _hoisted_1$a, [
|
|
477657
|
+
vue.createElementVNode("div", _hoisted_2$9, [
|
|
477658
|
+
vue.createElementVNode("div", _hoisted_3$9, [
|
|
477345
477659
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(leftTools, (tool, idx) => {
|
|
477346
477660
|
return vue.createVNode(_component_el_tooltip, {
|
|
477347
477661
|
key: idx,
|
|
@@ -477353,13 +477667,13 @@ ${this.attributes_.map(
|
|
|
477353
477667
|
vue.createElementVNode("i", {
|
|
477354
477668
|
class: vue.normalizeClass([tool.icon, "tool-icon"]),
|
|
477355
477669
|
onClick: ($event) => handleToolClick(tool, "left", idx)
|
|
477356
|
-
}, null, 10, _hoisted_4$
|
|
477670
|
+
}, null, 10, _hoisted_4$9)
|
|
477357
477671
|
]),
|
|
477358
477672
|
_: 2
|
|
477359
477673
|
}, 1032, ["content"]);
|
|
477360
477674
|
}), 64))
|
|
477361
477675
|
]),
|
|
477362
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
477676
|
+
vue.createElementVNode("div", _hoisted_5$9, [
|
|
477363
477677
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(rightTools, (tool, idx) => {
|
|
477364
477678
|
return vue.createVNode(_component_el_tooltip, {
|
|
477365
477679
|
key: idx,
|
|
@@ -477415,9 +477729,9 @@ ${this.attributes_.map(
|
|
|
477415
477729
|
};
|
|
477416
477730
|
}
|
|
477417
477731
|
};
|
|
477418
|
-
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477419
|
-
const _hoisted_1$
|
|
477420
|
-
const _sfc_main$
|
|
477732
|
+
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-16fc7a81"]]);
|
|
477733
|
+
const _hoisted_1$9 = { class: "flex" };
|
|
477734
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
477421
477735
|
__name: "MapToolbar",
|
|
477422
477736
|
props: {
|
|
477423
477737
|
config: { default: void 0 },
|
|
@@ -477608,7 +477922,7 @@ ${this.attributes_.map(
|
|
|
477608
477922
|
class: "main-menu-item"
|
|
477609
477923
|
}, {
|
|
477610
477924
|
title: vue.withCtx(() => [
|
|
477611
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
477925
|
+
vue.createElementVNode("div", _hoisted_1$9, [
|
|
477612
477926
|
vue.createElementVNode("div", null, [
|
|
477613
477927
|
vue.createVNode(_component_el_icon, null, {
|
|
477614
477928
|
default: vue.withCtx(() => [
|
|
@@ -477785,7 +478099,7 @@ ${this.attributes_.map(
|
|
|
477785
478099
|
]),
|
|
477786
478100
|
_: 1
|
|
477787
478101
|
}, 8, ["default-active"]),
|
|
477788
|
-
vue.createVNode(_sfc_main$
|
|
478102
|
+
vue.createVNode(_sfc_main$k, {
|
|
477789
478103
|
modelValue: showBasemapPanel.value,
|
|
477790
478104
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showBasemapPanel.value = $event),
|
|
477791
478105
|
config: props.config,
|
|
@@ -477796,28 +478110,28 @@ ${this.attributes_.map(
|
|
|
477796
478110
|
modelValue: showMeasurement.value,
|
|
477797
478111
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showMeasurement.value = $event)
|
|
477798
478112
|
}, null, 8, ["modelValue"]),
|
|
477799
|
-
vue.createVNode(_sfc_main$
|
|
478113
|
+
vue.createVNode(_sfc_main$i, {
|
|
477800
478114
|
ref_key: "coordinateLocationDialogRef",
|
|
477801
478115
|
ref: coordinateLocationDialogRef,
|
|
477802
478116
|
modelValue: showCoordinateLocation.value,
|
|
477803
478117
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => showCoordinateLocation.value = $event)
|
|
477804
478118
|
}, null, 8, ["modelValue"]),
|
|
477805
|
-
vue.createVNode(_sfc_main$
|
|
478119
|
+
vue.createVNode(_sfc_main$h, {
|
|
477806
478120
|
modelValue: showRegionNavigation.value,
|
|
477807
478121
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showRegionNavigation.value = $event),
|
|
477808
478122
|
onNavigationAction: handleNavigationAction
|
|
477809
478123
|
}, null, 8, ["modelValue"]),
|
|
477810
|
-
vue.createVNode(_sfc_main$
|
|
478124
|
+
vue.createVNode(_sfc_main$g, {
|
|
477811
478125
|
modelValue: showMyMarkers.value,
|
|
477812
478126
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showMyMarkers.value = $event),
|
|
477813
478127
|
onMarkerAction: handleMarkerAction
|
|
477814
478128
|
}, null, 8, ["modelValue"]),
|
|
477815
|
-
vue.createVNode(_sfc_main$
|
|
478129
|
+
vue.createVNode(_sfc_main$f, {
|
|
477816
478130
|
modelValue: showViewBookmarks.value,
|
|
477817
478131
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showViewBookmarks.value = $event),
|
|
477818
478132
|
onBookmarkAction: handleBookmarkAction
|
|
477819
478133
|
}, null, 8, ["modelValue"]),
|
|
477820
|
-
vue.createVNode(_sfc_main$
|
|
478134
|
+
vue.createVNode(_sfc_main$e, {
|
|
477821
478135
|
modelValue: showMapPrint.value,
|
|
477822
478136
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showMapPrint.value = $event),
|
|
477823
478137
|
onPrintAction: handlePrintAction
|
|
@@ -477832,7 +478146,7 @@ ${this.attributes_.map(
|
|
|
477832
478146
|
}
|
|
477833
478147
|
});
|
|
477834
478148
|
const MapToolbar_vue_vue_type_style_index_0_scoped_f8ee8458_lang = "";
|
|
477835
|
-
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
478149
|
+
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-f8ee8458"]]);
|
|
477836
478150
|
const TIANDITU_CONFIG = {
|
|
477837
478151
|
baseUrl: "https://api.tianditu.gov.cn/v2/search",
|
|
477838
478152
|
key: "9a7244dd5d1a1299a52946a3d0f8ff68"
|
|
@@ -478492,14 +478806,14 @@ ${this.attributes_.map(
|
|
|
478492
478806
|
MapSearchService,
|
|
478493
478807
|
defaultSearchConfig
|
|
478494
478808
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
478495
|
-
const _hoisted_1$
|
|
478496
|
-
const _hoisted_2$
|
|
478497
|
-
const _hoisted_3$
|
|
478809
|
+
const _hoisted_1$8 = { class: "search-input-wrapper" };
|
|
478810
|
+
const _hoisted_2$8 = { class: "search-results" };
|
|
478811
|
+
const _hoisted_3$8 = {
|
|
478498
478812
|
key: 0,
|
|
478499
478813
|
class: "search-section"
|
|
478500
478814
|
};
|
|
478501
|
-
const _hoisted_4$
|
|
478502
|
-
const _hoisted_5$
|
|
478815
|
+
const _hoisted_4$8 = { class: "section-title" };
|
|
478816
|
+
const _hoisted_5$8 = ["onClick"];
|
|
478503
478817
|
const _hoisted_6$6 = { class: "item-content" };
|
|
478504
478818
|
const _hoisted_7$5 = { class: "item-name" };
|
|
478505
478819
|
const _hoisted_8$5 = { class: "item-address" };
|
|
@@ -478528,7 +478842,7 @@ ${this.attributes_.map(
|
|
|
478528
478842
|
key: 0,
|
|
478529
478843
|
class: "no-results"
|
|
478530
478844
|
};
|
|
478531
|
-
const _sfc_main$
|
|
478845
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
478532
478846
|
__name: "MapSearch",
|
|
478533
478847
|
props: {
|
|
478534
478848
|
config: { default: () => ({
|
|
@@ -478773,7 +479087,7 @@ ${this.attributes_.map(
|
|
|
478773
479087
|
class: vue.normalizeClass(["map-search-container", [`position-${position2.value}`, { "search-active": isSearchActive.value }]])
|
|
478774
479088
|
}, [
|
|
478775
479089
|
vue.renderSlot(_ctx.$slots, "prepend"),
|
|
478776
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
479090
|
+
vue.createElementVNode("div", _hoisted_1$8, [
|
|
478777
479091
|
vue.renderSlot(_ctx.$slots, "search-input", {
|
|
478778
479092
|
searchQuery: searchQuery.value,
|
|
478779
479093
|
placeholder: placeholder.value,
|
|
@@ -478829,7 +479143,7 @@ ${this.attributes_.map(
|
|
|
478829
479143
|
}, 8, ["modelValue", "placeholder"])
|
|
478830
479144
|
])
|
|
478831
479145
|
]),
|
|
478832
|
-
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$
|
|
479146
|
+
vue.withDirectives(vue.createElementVNode("div", _hoisted_2$8, [
|
|
478833
479147
|
vue.renderSlot(_ctx.$slots, "search-results", {
|
|
478834
479148
|
searchResults: searchResults.value,
|
|
478835
479149
|
searchHistory: searchHistory.value,
|
|
@@ -478841,9 +479155,9 @@ ${this.attributes_.map(
|
|
|
478841
479155
|
clearHistory,
|
|
478842
479156
|
highlightText
|
|
478843
479157
|
}, () => [
|
|
478844
|
-
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
479158
|
+
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
|
|
478845
479159
|
vue.renderSlot(_ctx.$slots, "history-title", { clearHistory }, () => [
|
|
478846
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
479160
|
+
vue.createElementVNode("div", _hoisted_4$8, [
|
|
478847
479161
|
_cache[2] || (_cache[2] = vue.createElementVNode("span", null, "搜索历史", -1)),
|
|
478848
479162
|
vue.createVNode(vue.unref(ElButton), {
|
|
478849
479163
|
type: "text",
|
|
@@ -478879,7 +479193,7 @@ ${this.attributes_.map(
|
|
|
478879
479193
|
vue.createElementVNode("div", _hoisted_7$5, vue.toDisplayString(item.name), 1),
|
|
478880
479194
|
vue.createElementVNode("div", _hoisted_8$5, vue.toDisplayString(item.address), 1)
|
|
478881
479195
|
])
|
|
478882
|
-
], 10, _hoisted_5$
|
|
479196
|
+
], 10, _hoisted_5$8)
|
|
478883
479197
|
]);
|
|
478884
479198
|
}), 128))
|
|
478885
479199
|
])) : vue.createCommentVNode("", true),
|
|
@@ -478954,7 +479268,7 @@ ${this.attributes_.map(
|
|
|
478954
479268
|
}
|
|
478955
479269
|
});
|
|
478956
479270
|
const MapSearch_vue_vue_type_style_index_0_lang = "";
|
|
478957
|
-
const _sfc_main$
|
|
479271
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
478958
479272
|
__name: "index",
|
|
478959
479273
|
props: {
|
|
478960
479274
|
config: {},
|
|
@@ -479501,12 +479815,12 @@ ${this.attributes_.map(
|
|
|
479501
479815
|
}
|
|
479502
479816
|
});
|
|
479503
479817
|
const index_vue_vue_type_style_index_0_scoped_45410a30_lang = "";
|
|
479504
|
-
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
479505
|
-
const _hoisted_1$
|
|
479506
|
-
const _hoisted_2$
|
|
479507
|
-
const _hoisted_3$
|
|
479508
|
-
const _hoisted_4$
|
|
479509
|
-
const _hoisted_5$
|
|
479818
|
+
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-45410a30"]]);
|
|
479819
|
+
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" };
|
|
479820
|
+
const _hoisted_2$7 = { class: "panel-actions" };
|
|
479821
|
+
const _hoisted_3$7 = { class: "panel-content max-h-125 overflow-y-auto" };
|
|
479822
|
+
const _hoisted_4$7 = { class: "p-2" };
|
|
479823
|
+
const _hoisted_5$7 = { class: "legend-content p-2" };
|
|
479510
479824
|
const _hoisted_6$5 = { key: 0 };
|
|
479511
479825
|
const _hoisted_7$4 = { class: "text-xs text-gray-600" };
|
|
479512
479826
|
const _hoisted_8$4 = { key: 1 };
|
|
@@ -479537,7 +479851,7 @@ ${this.attributes_.map(
|
|
|
479537
479851
|
key: 1,
|
|
479538
479852
|
class: "py-10 px-5 text-center"
|
|
479539
479853
|
};
|
|
479540
|
-
const _sfc_main$
|
|
479854
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
479541
479855
|
__name: "LegendPanel",
|
|
479542
479856
|
props: {
|
|
479543
479857
|
position: { default: "right" },
|
|
@@ -479747,9 +480061,9 @@ ${this.attributes_.map(
|
|
|
479747
480061
|
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 }]),
|
|
479748
480062
|
style: vue.normalizeStyle(panelStyle.value)
|
|
479749
480063
|
}, [
|
|
479750
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
480064
|
+
vue.createElementVNode("div", _hoisted_1$7, [
|
|
479751
480065
|
_cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "m-0 text-sm font-semibold text-gray-800" }, "图例", -1)),
|
|
479752
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
480066
|
+
vue.createElementVNode("div", _hoisted_2$7, [
|
|
479753
480067
|
vue.createVNode(_component_el_button, {
|
|
479754
480068
|
link: "",
|
|
479755
480069
|
size: "small",
|
|
@@ -479758,8 +480072,8 @@ ${this.attributes_.map(
|
|
|
479758
480072
|
}, null, 8, ["icon"])
|
|
479759
480073
|
])
|
|
479760
480074
|
]),
|
|
479761
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
479762
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
480075
|
+
vue.createElementVNode("div", _hoisted_3$7, [
|
|
480076
|
+
vue.createElementVNode("div", _hoisted_4$7, [
|
|
479763
480077
|
visibleLegends.value.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_collapse, {
|
|
479764
480078
|
key: 0,
|
|
479765
480079
|
modelValue: activeNames.value,
|
|
@@ -479775,7 +480089,7 @@ ${this.attributes_.map(
|
|
|
479775
480089
|
class: "legend-item"
|
|
479776
480090
|
}, {
|
|
479777
480091
|
default: vue.withCtx(() => [
|
|
479778
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
480092
|
+
vue.createElementVNode("div", _hoisted_5$7, [
|
|
479779
480093
|
legend.type === "symbol" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$5, [
|
|
479780
480094
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
|
|
479781
480095
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -480279,8 +480593,12 @@ ${this.attributes_.map(
|
|
|
480279
480593
|
__publicField(this, "defaultCheckedKeys", vue.computed(() => {
|
|
480280
480594
|
const checkedKeys = [];
|
|
480281
480595
|
const collectVisibleIds = (layer2) => {
|
|
480282
|
-
if (layer2.visible
|
|
480283
|
-
|
|
480596
|
+
if (layer2.visible) {
|
|
480597
|
+
const isGroup = layer2.type === "group";
|
|
480598
|
+
const hasChildren = layer2.children && Array.isArray(layer2.children) && layer2.children.length > 0;
|
|
480599
|
+
if (!isGroup || isGroup && !hasChildren) {
|
|
480600
|
+
checkedKeys.push(layer2.id);
|
|
480601
|
+
}
|
|
480284
480602
|
}
|
|
480285
480603
|
if (layer2.children && Array.isArray(layer2.children)) {
|
|
480286
480604
|
layer2.children.forEach((child) => collectVisibleIds(child));
|
|
@@ -480321,10 +480639,11 @@ ${this.attributes_.map(
|
|
|
480321
480639
|
* @returns 树节点数据
|
|
480322
480640
|
*/
|
|
480323
480641
|
buildLayerNode(layer2) {
|
|
480642
|
+
const isGroup = layer2.type === "group" || layer2.children && Array.isArray(layer2.children) && layer2.children.length > 0;
|
|
480324
480643
|
const node2 = {
|
|
480325
480644
|
id: layer2.id,
|
|
480326
480645
|
label: layer2.name,
|
|
480327
|
-
type: "layer",
|
|
480646
|
+
type: isGroup ? "group" : "layer",
|
|
480328
480647
|
layerType: layer2.type,
|
|
480329
480648
|
layerData: layer2
|
|
480330
480649
|
};
|
|
@@ -480978,11 +481297,11 @@ ${this.attributes_.map(
|
|
|
480978
481297
|
console.log("批量更新结果:", results);
|
|
480979
481298
|
}
|
|
480980
481299
|
}
|
|
480981
|
-
const _hoisted_1$
|
|
480982
|
-
const _hoisted_2$
|
|
480983
|
-
const _hoisted_3$
|
|
480984
|
-
const _hoisted_4$
|
|
480985
|
-
const _hoisted_5$
|
|
481300
|
+
const _hoisted_1$6 = { class: "filter-panel" };
|
|
481301
|
+
const _hoisted_2$6 = { class: "config-section" };
|
|
481302
|
+
const _hoisted_3$6 = { class: "config-item" };
|
|
481303
|
+
const _hoisted_4$6 = { class: "value-text" };
|
|
481304
|
+
const _hoisted_5$6 = { class: "config-item" };
|
|
480986
481305
|
const _hoisted_6$4 = { class: "value-text" };
|
|
480987
481306
|
const _hoisted_7$3 = { class: "config-item" };
|
|
480988
481307
|
const _hoisted_8$3 = { class: "value-text" };
|
|
@@ -480999,7 +481318,7 @@ ${this.attributes_.map(
|
|
|
480999
481318
|
const _hoisted_19 = { class: "value-text" };
|
|
481000
481319
|
const _hoisted_20 = { class: "config-section" };
|
|
481001
481320
|
const _hoisted_21 = { class: "preset-buttons" };
|
|
481002
|
-
const _sfc_main$
|
|
481321
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
481003
481322
|
__name: "FilterPanel",
|
|
481004
481323
|
props: {
|
|
481005
481324
|
filters: {}
|
|
@@ -481019,10 +481338,10 @@ ${this.attributes_.map(
|
|
|
481019
481338
|
return (_ctx, _cache) => {
|
|
481020
481339
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
|
481021
481340
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
481022
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
481023
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
481341
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
|
|
481342
|
+
vue.createElementVNode("div", _hoisted_2$6, [
|
|
481024
481343
|
_cache[15] || (_cache[15] = vue.createElementVNode("h5", null, "色彩调整", -1)),
|
|
481025
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
481344
|
+
vue.createElementVNode("div", _hoisted_3$6, [
|
|
481026
481345
|
_cache[11] || (_cache[11] = vue.createElementVNode("label", null, "色相:", -1)),
|
|
481027
481346
|
vue.createVNode(_component_el_slider, {
|
|
481028
481347
|
modelValue: _ctx.filters.hue,
|
|
@@ -481032,9 +481351,9 @@ ${this.attributes_.map(
|
|
|
481032
481351
|
step: 1,
|
|
481033
481352
|
onInput: handleFilterChange
|
|
481034
481353
|
}, null, 8, ["modelValue"]),
|
|
481035
|
-
vue.createElementVNode("span", _hoisted_4$
|
|
481354
|
+
vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(_ctx.filters.hue) + "°", 1)
|
|
481036
481355
|
]),
|
|
481037
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
481356
|
+
vue.createElementVNode("div", _hoisted_5$6, [
|
|
481038
481357
|
_cache[12] || (_cache[12] = vue.createElementVNode("label", null, "饱和度:", -1)),
|
|
481039
481358
|
vue.createVNode(_component_el_slider, {
|
|
481040
481359
|
modelValue: _ctx.filters.saturate,
|
|
@@ -481170,14 +481489,14 @@ ${this.attributes_.map(
|
|
|
481170
481489
|
}
|
|
481171
481490
|
});
|
|
481172
481491
|
const FilterPanel_vue_vue_type_style_index_0_lang = "";
|
|
481173
|
-
const _hoisted_1$
|
|
481174
|
-
const _hoisted_2$
|
|
481175
|
-
const _hoisted_3$
|
|
481492
|
+
const _hoisted_1$5 = { class: "style-config-panel" };
|
|
481493
|
+
const _hoisted_2$5 = { class: "panel-title" };
|
|
481494
|
+
const _hoisted_3$5 = {
|
|
481176
481495
|
key: 0,
|
|
481177
481496
|
class: "config-section"
|
|
481178
481497
|
};
|
|
481179
|
-
const _hoisted_4$
|
|
481180
|
-
const _hoisted_5$
|
|
481498
|
+
const _hoisted_4$5 = { class: "config-item" };
|
|
481499
|
+
const _hoisted_5$5 = { class: "value-text" };
|
|
481181
481500
|
const _hoisted_6$3 = { class: "config-item" };
|
|
481182
481501
|
const _hoisted_7$2 = { class: "value-text" };
|
|
481183
481502
|
const _hoisted_8$2 = {
|
|
@@ -481189,7 +481508,7 @@ ${this.attributes_.map(
|
|
|
481189
481508
|
const _hoisted_11$1 = { class: "config-item" };
|
|
481190
481509
|
const _hoisted_12$1 = { class: "config-item" };
|
|
481191
481510
|
const _hoisted_13$1 = { class: "panel-actions" };
|
|
481192
|
-
const _sfc_main$
|
|
481511
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
481193
481512
|
__name: "LayerStyleConfig",
|
|
481194
481513
|
props: {
|
|
481195
481514
|
layerData: {}
|
|
@@ -481220,11 +481539,11 @@ ${this.attributes_.map(
|
|
|
481220
481539
|
const _component_el_select = vue.resolveComponent("el-select");
|
|
481221
481540
|
const _component_el_switch = vue.resolveComponent("el-switch");
|
|
481222
481541
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
481223
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
481224
|
-
vue.createElementVNode("h4", _hoisted_2$
|
|
481225
|
-
isClusterLayer.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
481542
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
|
|
481543
|
+
vue.createElementVNode("h4", _hoisted_2$5, vue.toDisplayString(_ctx.layerData.label) + " - 样式配置", 1),
|
|
481544
|
+
isClusterLayer.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [
|
|
481226
481545
|
_cache[8] || (_cache[8] = vue.createElementVNode("h5", null, "聚合配置", -1)),
|
|
481227
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
481546
|
+
vue.createElementVNode("div", _hoisted_4$5, [
|
|
481228
481547
|
_cache[6] || (_cache[6] = vue.createElementVNode("label", null, "聚合距离:", -1)),
|
|
481229
481548
|
vue.createVNode(_component_el_slider, {
|
|
481230
481549
|
modelValue: _ctx.layerData.clusterDistance,
|
|
@@ -481234,7 +481553,7 @@ ${this.attributes_.map(
|
|
|
481234
481553
|
size: "small",
|
|
481235
481554
|
onInput: handleClusterDistanceChange
|
|
481236
481555
|
}, null, 8, ["modelValue"]),
|
|
481237
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
481556
|
+
vue.createElementVNode("span", _hoisted_5$5, vue.toDisplayString(_ctx.layerData.clusterDistance) + "px", 1)
|
|
481238
481557
|
]),
|
|
481239
481558
|
vue.createElementVNode("div", _hoisted_6$3, [
|
|
481240
481559
|
_cache[7] || (_cache[7] = vue.createElementVNode("label", null, "最小距离:", -1)),
|
|
@@ -481320,12 +481639,12 @@ ${this.attributes_.map(
|
|
|
481320
481639
|
}
|
|
481321
481640
|
});
|
|
481322
481641
|
const LayerStyleConfig_vue_vue_type_style_index_0_lang = "";
|
|
481323
|
-
const _hoisted_1$
|
|
481324
|
-
const _hoisted_2$
|
|
481325
|
-
const _hoisted_3$
|
|
481326
|
-
const _hoisted_4$
|
|
481327
|
-
const _hoisted_5$
|
|
481328
|
-
const _sfc_main$
|
|
481642
|
+
const _hoisted_1$4 = { class: "font-medium" };
|
|
481643
|
+
const _hoisted_2$4 = { class: "layer-info" };
|
|
481644
|
+
const _hoisted_3$4 = { class: "layer-name" };
|
|
481645
|
+
const _hoisted_4$4 = { class: "opacity-control" };
|
|
481646
|
+
const _hoisted_5$4 = { class: "opacity-value" };
|
|
481647
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
481329
481648
|
__name: "LayerTreeNode",
|
|
481330
481649
|
props: {
|
|
481331
481650
|
data: {},
|
|
@@ -481377,7 +481696,7 @@ ${this.attributes_.map(
|
|
|
481377
481696
|
]),
|
|
481378
481697
|
_: 1
|
|
481379
481698
|
}),
|
|
481380
|
-
vue.createElementVNode("span", _hoisted_1$
|
|
481699
|
+
vue.createElementVNode("span", _hoisted_1$4, vue.toDisplayString(_ctx.data.label), 1)
|
|
481381
481700
|
], 32)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
481382
481701
|
key: 1,
|
|
481383
481702
|
class: "layer-item",
|
|
@@ -481385,7 +481704,7 @@ ${this.attributes_.map(
|
|
|
481385
481704
|
onClick: _cache[5] || (_cache[5] = vue.withModifiers(() => {
|
|
481386
481705
|
}, ["stop"]))
|
|
481387
481706
|
}, [
|
|
481388
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
481707
|
+
vue.createElementVNode("div", _hoisted_2$4, [
|
|
481389
481708
|
vue.createVNode(_component_el_icon, {
|
|
481390
481709
|
class: vue.normalizeClass(["layer-icon", layerIconClass.value])
|
|
481391
481710
|
}, {
|
|
@@ -481394,7 +481713,7 @@ ${this.attributes_.map(
|
|
|
481394
481713
|
]),
|
|
481395
481714
|
_: 1
|
|
481396
481715
|
}, 8, ["class"]),
|
|
481397
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
481716
|
+
vue.createElementVNode("span", _hoisted_3$4, vue.toDisplayString(_ctx.data.label), 1)
|
|
481398
481717
|
]),
|
|
481399
481718
|
vue.createElementVNode("div", {
|
|
481400
481719
|
class: "layer-controls",
|
|
@@ -481405,7 +481724,7 @@ ${this.attributes_.map(
|
|
|
481405
481724
|
onDblclick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
|
|
481406
481725
|
}, ["stop"]))
|
|
481407
481726
|
}, [
|
|
481408
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
481727
|
+
vue.createElementVNode("div", _hoisted_4$4, [
|
|
481409
481728
|
vue.createVNode(_component_el_slider, {
|
|
481410
481729
|
modelValue: _ctx.data.layerData.opacity,
|
|
481411
481730
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.data.layerData.opacity = $event),
|
|
@@ -481415,7 +481734,7 @@ ${this.attributes_.map(
|
|
|
481415
481734
|
class: "opacity-slider",
|
|
481416
481735
|
onInput: handleOpacityChange
|
|
481417
481736
|
}, null, 8, ["modelValue"]),
|
|
481418
|
-
vue.createElementVNode("span", _hoisted_5$
|
|
481737
|
+
vue.createElementVNode("span", _hoisted_5$4, vue.toDisplayString(_ctx.data.layerData.opacity) + "%", 1)
|
|
481419
481738
|
]),
|
|
481420
481739
|
vue.createVNode(_component_el_popover, {
|
|
481421
481740
|
placement: "left",
|
|
@@ -481444,7 +481763,7 @@ ${this.attributes_.map(
|
|
|
481444
481763
|
})
|
|
481445
481764
|
]),
|
|
481446
481765
|
default: vue.withCtx(() => [
|
|
481447
|
-
vue.createVNode(_sfc_main$
|
|
481766
|
+
vue.createVNode(_sfc_main$5, {
|
|
481448
481767
|
"layer-data": _ctx.data.layerData,
|
|
481449
481768
|
onClusterDistanceChange: handleClusterDistanceChange,
|
|
481450
481769
|
onSuperMapConfigChange: handleSuperMapConfigChange,
|
|
@@ -481460,15 +481779,15 @@ ${this.attributes_.map(
|
|
|
481460
481779
|
}
|
|
481461
481780
|
});
|
|
481462
481781
|
const LayerTreeNode_vue_vue_type_style_index_0_lang = "";
|
|
481463
|
-
const _hoisted_1$
|
|
481464
|
-
const _hoisted_2$
|
|
481465
|
-
const _hoisted_3$
|
|
481466
|
-
const _hoisted_4$
|
|
481467
|
-
const _hoisted_5$
|
|
481782
|
+
const _hoisted_1$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
481783
|
+
const _hoisted_2$3 = { class: "pb-2 flex items-center justify-between" };
|
|
481784
|
+
const _hoisted_3$3 = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
|
|
481785
|
+
const _hoisted_4$3 = { class: "global-style-panel" };
|
|
481786
|
+
const _hoisted_5$3 = { class: "config-section" };
|
|
481468
481787
|
const _hoisted_6$2 = { class: "config-item" };
|
|
481469
481788
|
const _hoisted_7$1 = { class: "current-style-display" };
|
|
481470
481789
|
const _hoisted_8$1 = { class: "style-preview" };
|
|
481471
|
-
const _sfc_main$
|
|
481790
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
481472
481791
|
__name: "LayerPanel",
|
|
481473
481792
|
props: {
|
|
481474
481793
|
modelValue: { type: Boolean }
|
|
@@ -481591,7 +481910,7 @@ ${this.attributes_.map(
|
|
|
481591
481910
|
}
|
|
481592
481911
|
const willCheck = checkedKeys ? checkedKeys.includes(data2.id) : !defaultCheckedKeys.value.includes(data2.id);
|
|
481593
481912
|
const toggleNodeAndChildren = (node2, checked) => {
|
|
481594
|
-
if (node2.type === "layer" && node2.layerData) {
|
|
481913
|
+
if ((node2.type === "layer" || node2.type === "group") && node2.layerData) {
|
|
481595
481914
|
node2.layerData.visible = checked;
|
|
481596
481915
|
handleLayerVisibilityChange(node2.layerData);
|
|
481597
481916
|
if (node2.layerData.type === "group") {
|
|
@@ -482306,7 +482625,7 @@ ${this.attributes_.map(
|
|
|
482306
482625
|
const _component_el_tree = vue.resolveComponent("el-tree");
|
|
482307
482626
|
const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
|
|
482308
482627
|
const _component_el_tabs = vue.resolveComponent("el-tabs");
|
|
482309
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
482628
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$l, vue.mergeProps({
|
|
482310
482629
|
modelValue: visible.value,
|
|
482311
482630
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
|
|
482312
482631
|
}, dialogProps.value, { onClose: handleClose }), vue.createSlots({
|
|
@@ -482344,8 +482663,8 @@ ${this.attributes_.map(
|
|
|
482344
482663
|
name: "layers"
|
|
482345
482664
|
}, {
|
|
482346
482665
|
default: vue.withCtx(() => [
|
|
482347
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
482348
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
482666
|
+
vue.createElementVNode("div", _hoisted_1$3, [
|
|
482667
|
+
vue.createElementVNode("div", _hoisted_2$3, [
|
|
482349
482668
|
_cache[7] || (_cache[7] = vue.createElementVNode("div", { class: "text-sm text-gray-600" }, "树形视图", -1)),
|
|
482350
482669
|
vue.createVNode(_component_el_radio_group, {
|
|
482351
482670
|
modelValue: activeTreeType.value,
|
|
@@ -482391,7 +482710,7 @@ ${this.attributes_.map(
|
|
|
482391
482710
|
class: "layer-tree"
|
|
482392
482711
|
}, {
|
|
482393
482712
|
default: vue.withCtx(({ node: node2, data: data2 }) => [
|
|
482394
|
-
vue.createVNode(_sfc_main$
|
|
482713
|
+
vue.createVNode(_sfc_main$4, {
|
|
482395
482714
|
data: data2,
|
|
482396
482715
|
"layer-tree-manager": vue.unref(layerTreeManager),
|
|
482397
482716
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -482407,7 +482726,7 @@ ${this.attributes_.map(
|
|
|
482407
482726
|
key: group2.id,
|
|
482408
482727
|
class: "mb-3"
|
|
482409
482728
|
}, [
|
|
482410
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
482729
|
+
vue.createElementVNode("div", _hoisted_3$3, vue.toDisplayString(group2.name), 1),
|
|
482411
482730
|
vue.createVNode(_component_el_tree, {
|
|
482412
482731
|
ref_for: true,
|
|
482413
482732
|
ref: (el) => classificationTreeRefs.value[group2.id] = el,
|
|
@@ -482429,7 +482748,7 @@ ${this.attributes_.map(
|
|
|
482429
482748
|
class: "layer-tree"
|
|
482430
482749
|
}, {
|
|
482431
482750
|
default: vue.withCtx(({ node: node2, data: data2 }) => [
|
|
482432
|
-
vue.createVNode(_sfc_main$
|
|
482751
|
+
vue.createVNode(_sfc_main$4, {
|
|
482433
482752
|
data: data2,
|
|
482434
482753
|
"layer-tree-manager": vue.unref(layerTreeManager),
|
|
482435
482754
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -482452,7 +482771,7 @@ ${this.attributes_.map(
|
|
|
482452
482771
|
name: "style"
|
|
482453
482772
|
}, {
|
|
482454
482773
|
default: vue.withCtx(() => [
|
|
482455
|
-
vue.createElementVNode("div", _hoisted_4$
|
|
482774
|
+
vue.createElementVNode("div", _hoisted_4$3, [
|
|
482456
482775
|
vue.createVNode(_component_el_tabs, {
|
|
482457
482776
|
modelValue: activeStyleTab.value,
|
|
482458
482777
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => activeStyleTab.value = $event),
|
|
@@ -482464,7 +482783,7 @@ ${this.attributes_.map(
|
|
|
482464
482783
|
name: "filters"
|
|
482465
482784
|
}, {
|
|
482466
482785
|
default: vue.withCtx(() => [
|
|
482467
|
-
vue.createVNode(_sfc_main$
|
|
482786
|
+
vue.createVNode(_sfc_main$6, {
|
|
482468
482787
|
filters: vue.unref(globalFilters),
|
|
482469
482788
|
onFilterChange: applyFilterEffect,
|
|
482470
482789
|
onReset: resetFilters,
|
|
@@ -482478,7 +482797,7 @@ ${this.attributes_.map(
|
|
|
482478
482797
|
name: "custom"
|
|
482479
482798
|
}, {
|
|
482480
482799
|
default: vue.withCtx(() => [
|
|
482481
|
-
vue.createElementVNode("div", _hoisted_5$
|
|
482800
|
+
vue.createElementVNode("div", _hoisted_5$3, [
|
|
482482
482801
|
vue.createElementVNode("div", _hoisted_6$2, [
|
|
482483
482802
|
vue.createVNode(vue.unref(ElInput), {
|
|
482484
482803
|
modelValue: vue.unref(globalCustomCss),
|
|
@@ -482550,6 +482869,151 @@ ${this.attributes_.map(
|
|
|
482550
482869
|
}
|
|
482551
482870
|
});
|
|
482552
482871
|
const LayerPanel_vue_vue_type_style_index_0_lang = "";
|
|
482872
|
+
const _hoisted_1$2 = { class: "layer-panel" };
|
|
482873
|
+
const _hoisted_2$2 = ["onClick"];
|
|
482874
|
+
const _hoisted_3$2 = ["title"];
|
|
482875
|
+
const _hoisted_4$2 = {
|
|
482876
|
+
key: 0,
|
|
482877
|
+
class: "active-border"
|
|
482878
|
+
};
|
|
482879
|
+
const _hoisted_5$2 = { class: "layer-name" };
|
|
482880
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
482881
|
+
__name: "OlBaseLayerSwitcher",
|
|
482882
|
+
props: {
|
|
482883
|
+
map: {},
|
|
482884
|
+
baseLayers: {}
|
|
482885
|
+
},
|
|
482886
|
+
setup(__props) {
|
|
482887
|
+
const props = __props;
|
|
482888
|
+
const expand = vue.ref(false);
|
|
482889
|
+
const validBaseLayers = vue.computed(() => {
|
|
482890
|
+
return props.baseLayers.filter((layer2) => layer2.baseImgUrl && layer2.baseImgUrl.trim() !== "");
|
|
482891
|
+
});
|
|
482892
|
+
const containerStyle = vue.computed(() => {
|
|
482893
|
+
if (!expand.value) {
|
|
482894
|
+
return { width: "96px" };
|
|
482895
|
+
}
|
|
482896
|
+
const count2 = validBaseLayers.value.length;
|
|
482897
|
+
if (count2 === 0)
|
|
482898
|
+
return { width: "96px" };
|
|
482899
|
+
const width = count2 * 86 + (count2 - 1) * 10 + 10;
|
|
482900
|
+
return { width: `${width}px` };
|
|
482901
|
+
});
|
|
482902
|
+
const currentLayer = vue.ref(null);
|
|
482903
|
+
vue.watch(() => props.baseLayers, (layers) => {
|
|
482904
|
+
if (!currentLayer.value) {
|
|
482905
|
+
const visibleLayer = layers.find((l2) => l2.visible && l2.baseImgUrl);
|
|
482906
|
+
if (visibleLayer) {
|
|
482907
|
+
currentLayer.value = visibleLayer;
|
|
482908
|
+
} else if (validBaseLayers.value.length > 0) {
|
|
482909
|
+
currentLayer.value = validBaseLayers.value[0];
|
|
482910
|
+
}
|
|
482911
|
+
}
|
|
482912
|
+
}, { deep: true, immediate: true });
|
|
482913
|
+
const switchLayer = (targetLayer) => {
|
|
482914
|
+
if (!props.map)
|
|
482915
|
+
return;
|
|
482916
|
+
currentLayer.value = targetLayer;
|
|
482917
|
+
layerEventBus.emit("basemap-switch-request", {
|
|
482918
|
+
basemapId: targetLayer.id,
|
|
482919
|
+
basemapName: targetLayer.name,
|
|
482920
|
+
basemapType: targetLayer.type,
|
|
482921
|
+
basemapConfig: targetLayer
|
|
482922
|
+
});
|
|
482923
|
+
props.baseLayers.forEach((layerConfig) => {
|
|
482924
|
+
const isVisible2 = layerConfig.id === targetLayer.id;
|
|
482925
|
+
setLayerVisibility(layerConfig, isVisible2);
|
|
482926
|
+
});
|
|
482927
|
+
expand.value = false;
|
|
482928
|
+
};
|
|
482929
|
+
const setLayerVisibility = (config, visible) => {
|
|
482930
|
+
config.visible = visible;
|
|
482931
|
+
if (config.type === "group") {
|
|
482932
|
+
if (config.layers) {
|
|
482933
|
+
config.layers.forEach((child) => setLayerVisibility(child, visible));
|
|
482934
|
+
}
|
|
482935
|
+
if (config.children) {
|
|
482936
|
+
config.children.forEach((child) => setLayerVisibility(child, visible));
|
|
482937
|
+
}
|
|
482938
|
+
}
|
|
482939
|
+
if (config.id) {
|
|
482940
|
+
const layer2 = findLayerById(props.map, config.id);
|
|
482941
|
+
if (layer2) {
|
|
482942
|
+
layer2.setVisible(visible);
|
|
482943
|
+
}
|
|
482944
|
+
}
|
|
482945
|
+
};
|
|
482946
|
+
const findLayerById = (map2, id2) => {
|
|
482947
|
+
const layers = map2.getLayers().getArray();
|
|
482948
|
+
return findLayerRecursive(layers, id2);
|
|
482949
|
+
};
|
|
482950
|
+
const findLayerRecursive = (layers, id2) => {
|
|
482951
|
+
for (const layer2 of layers) {
|
|
482952
|
+
if (layer2.get("id") === id2) {
|
|
482953
|
+
return layer2;
|
|
482954
|
+
}
|
|
482955
|
+
if (layer2.getLayers && typeof layer2.getLayers === "function") {
|
|
482956
|
+
const found = findLayerRecursive(layer2.getLayers().getArray(), id2);
|
|
482957
|
+
if (found)
|
|
482958
|
+
return found;
|
|
482959
|
+
}
|
|
482960
|
+
}
|
|
482961
|
+
return null;
|
|
482962
|
+
};
|
|
482963
|
+
return (_ctx, _cache) => {
|
|
482964
|
+
var _a3, _b3;
|
|
482965
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
482966
|
+
class: vue.normalizeClass(["ol-base-layer-switcher", { "is-expanded": expand.value }]),
|
|
482967
|
+
style: vue.normalizeStyle(containerStyle.value),
|
|
482968
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => expand.value = true),
|
|
482969
|
+
onMouseleave: _cache[1] || (_cache[1] = ($event) => expand.value = false)
|
|
482970
|
+
}, [
|
|
482971
|
+
vue.createElementVNode("div", _hoisted_1$2, [
|
|
482972
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(validBaseLayers.value, (layer2) => {
|
|
482973
|
+
var _a4, _b4;
|
|
482974
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
482975
|
+
key: layer2.id,
|
|
482976
|
+
class: vue.normalizeClass(["layer-item", { active: ((_a4 = currentLayer.value) == null ? void 0 : _a4.id) === layer2.id }]),
|
|
482977
|
+
onClick: ($event) => switchLayer(layer2),
|
|
482978
|
+
style: vue.normalizeStyle({ backgroundImage: `url(${layer2.baseImgUrl})` })
|
|
482979
|
+
}, [
|
|
482980
|
+
vue.createElementVNode("div", {
|
|
482981
|
+
class: "layer-name",
|
|
482982
|
+
title: layer2.name
|
|
482983
|
+
}, vue.toDisplayString(layer2.name), 9, _hoisted_3$2),
|
|
482984
|
+
((_b4 = currentLayer.value) == null ? void 0 : _b4.id) === layer2.id ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [..._cache[2] || (_cache[2] = [
|
|
482985
|
+
vue.createElementVNode("div", { class: "check-icon" }, [
|
|
482986
|
+
vue.createElementVNode("svg", {
|
|
482987
|
+
viewBox: "0 0 1024 1024",
|
|
482988
|
+
width: "16",
|
|
482989
|
+
height: "16"
|
|
482990
|
+
}, [
|
|
482991
|
+
vue.createElementVNode("path", {
|
|
482992
|
+
d: "M384 725.333333l-192-192 64-64 128 128 320-320 64 64z",
|
|
482993
|
+
fill: "#fff"
|
|
482994
|
+
})
|
|
482995
|
+
])
|
|
482996
|
+
], -1)
|
|
482997
|
+
])])) : vue.createCommentVNode("", true)
|
|
482998
|
+
], 14, _hoisted_2$2);
|
|
482999
|
+
}), 128))
|
|
483000
|
+
]),
|
|
483001
|
+
vue.createElementVNode("div", {
|
|
483002
|
+
class: vue.normalizeClass(["layer-trigger", { "is-hidden": expand.value }])
|
|
483003
|
+
}, [
|
|
483004
|
+
vue.createElementVNode("div", {
|
|
483005
|
+
class: "current-layer-box",
|
|
483006
|
+
style: vue.normalizeStyle({ backgroundImage: `url(${(_a3 = currentLayer.value) == null ? void 0 : _a3.baseImgUrl})` })
|
|
483007
|
+
}, [
|
|
483008
|
+
vue.createElementVNode("div", _hoisted_5$2, vue.toDisplayString((_b3 = currentLayer.value) == null ? void 0 : _b3.name), 1)
|
|
483009
|
+
], 4)
|
|
483010
|
+
], 2)
|
|
483011
|
+
], 38);
|
|
483012
|
+
};
|
|
483013
|
+
}
|
|
483014
|
+
});
|
|
483015
|
+
const OlBaseLayerSwitcher_vue_vue_type_style_index_0_scoped_396e5ed1_lang = "";
|
|
483016
|
+
const OlBaseLayerSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-396e5ed1"]]);
|
|
482553
483017
|
const _hoisted_1$1 = {
|
|
482554
483018
|
key: 2,
|
|
482555
483019
|
class: "tooltip-content"
|
|
@@ -483795,12 +484259,13 @@ ${this.attributes_.map(
|
|
|
483795
484259
|
isInFullscreen: () => isFullscreen.value
|
|
483796
484260
|
});
|
|
483797
484261
|
return (_ctx, _cache) => {
|
|
484262
|
+
var _a3;
|
|
483798
484263
|
const _component_el_icon = vue.resolveComponent("el-icon");
|
|
483799
484264
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
483800
484265
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
483801
484266
|
class: vue.normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
|
|
483802
484267
|
}, [
|
|
483803
|
-
vue.createVNode(_sfc_main$
|
|
484268
|
+
vue.createVNode(_sfc_main$n, {
|
|
483804
484269
|
ref_key: "mapContainerRef",
|
|
483805
484270
|
ref: mapContainerRef,
|
|
483806
484271
|
config: finalMapConfig.value,
|
|
@@ -483904,7 +484369,7 @@ ${this.attributes_.map(
|
|
|
483904
484369
|
}, null, 8, ["config", "left-offset", "right-offset", "top-offset", "bottom-offset"]), [
|
|
483905
484370
|
[vue.vShow, finalShowToolbar.value]
|
|
483906
484371
|
]),
|
|
483907
|
-
vue.withDirectives(vue.createVNode(_sfc_main$
|
|
484372
|
+
vue.withDirectives(vue.createVNode(_sfc_main$9, {
|
|
483908
484373
|
ref_key: "mapSearchRef",
|
|
483909
484374
|
ref: mapSearchRef,
|
|
483910
484375
|
config: finalSearchConfig.value,
|
|
@@ -483939,7 +484404,7 @@ ${this.attributes_.map(
|
|
|
483939
484404
|
hasToolbarSlot.value ? vue.renderSlot(_ctx.$slots, "toolbar", { key: 2 }) : vue.createCommentVNode("", true),
|
|
483940
484405
|
hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "mapInfo", { key: 3 }) : vue.createCommentVNode("", true),
|
|
483941
484406
|
hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "map-info", { key: 4 }) : vue.createCommentVNode("", true),
|
|
483942
|
-
finalEnableLayerPanel.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
484407
|
+
finalEnableLayerPanel.value ? (vue.openBlock(), vue.createBlock(_sfc_main$3, {
|
|
483943
484408
|
key: 5,
|
|
483944
484409
|
modelValue: showLayerPanel.value,
|
|
483945
484410
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showLayerPanel.value = $event)
|
|
@@ -483970,7 +484435,7 @@ ${this.attributes_.map(
|
|
|
483970
484435
|
key: "2"
|
|
483971
484436
|
} : void 0
|
|
483972
484437
|
]), 1032, ["modelValue"])) : vue.createCommentVNode("", true),
|
|
483973
|
-
showLegend.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
484438
|
+
showLegend.value ? (vue.openBlock(), vue.createBlock(_sfc_main$7, {
|
|
483974
484439
|
key: 6,
|
|
483975
484440
|
position: finalLegendPosition.value,
|
|
483976
484441
|
width: finalLegendWidth.value,
|
|
@@ -484018,7 +484483,12 @@ ${this.attributes_.map(
|
|
|
484018
484483
|
}), 128))
|
|
484019
484484
|
])
|
|
484020
484485
|
])) : vue.createCommentVNode("", true),
|
|
484021
|
-
vue.
|
|
484486
|
+
map2.value && ((_a3 = finalMapConfig.value.baseLayers) == null ? void 0 : _a3.length) ? (vue.openBlock(), vue.createBlock(OlBaseLayerSwitcher, {
|
|
484487
|
+
key: 9,
|
|
484488
|
+
map: map2.value,
|
|
484489
|
+
"base-layers": finalMapConfig.value.baseLayers
|
|
484490
|
+
}, null, 8, ["map", "base-layers"])) : vue.createCommentVNode("", true),
|
|
484491
|
+
vue.createVNode(_sfc_main$e, {
|
|
484022
484492
|
modelValue: showPrintDialog.value,
|
|
484023
484493
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showPrintDialog.value = $event),
|
|
484024
484494
|
"map-instance": map2.value,
|
|
@@ -501112,14 +501582,14 @@ ${this.attributes_.map(
|
|
|
501112
501582
|
};
|
|
501113
501583
|
const install = (app) => {
|
|
501114
501584
|
app.component("CustomOpenlayer", _sfc_main);
|
|
501115
|
-
app.component("CustomDialog", _sfc_main$
|
|
501116
|
-
app.component("SvgIcon", _sfc_main$
|
|
501585
|
+
app.component("CustomDialog", _sfc_main$l);
|
|
501586
|
+
app.component("SvgIcon", _sfc_main$m);
|
|
501117
501587
|
};
|
|
501118
501588
|
const index$1 = {
|
|
501119
501589
|
install,
|
|
501120
501590
|
CustomOpenlayer: _sfc_main,
|
|
501121
|
-
CustomDialog: _sfc_main$
|
|
501122
|
-
SvgIcon: _sfc_main$
|
|
501591
|
+
CustomDialog: _sfc_main$l,
|
|
501592
|
+
SvgIcon: _sfc_main$m
|
|
501123
501593
|
};
|
|
501124
501594
|
const version$1 = "1.0.0";
|
|
501125
501595
|
function commonjsRequire(path2) {
|
|
@@ -511311,7 +511781,7 @@ ${this.attributes_.map(
|
|
|
511311
511781
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
511312
511782
|
exports2.BaseDrawing = BaseDrawing;
|
|
511313
511783
|
exports2.BasemapManager = BasemapManager;
|
|
511314
|
-
exports2.CustomDialog = _sfc_main$
|
|
511784
|
+
exports2.CustomDialog = _sfc_main$l;
|
|
511315
511785
|
exports2.CustomOpenlayer = _sfc_main;
|
|
511316
511786
|
exports2.DrawingFactoryRegistry = DrawingFactoryRegistry;
|
|
511317
511787
|
exports2.DrawingManager = DrawingManager;
|
|
@@ -511345,7 +511815,7 @@ ${this.attributes_.map(
|
|
|
511345
511815
|
exports2.PolygonDrawing = PolygonDrawing;
|
|
511346
511816
|
exports2.PolygonDrawingFactory = PolygonDrawingFactory;
|
|
511347
511817
|
exports2.SpatialFilterType = SpatialFilterType;
|
|
511348
|
-
exports2.SvgIcon = _sfc_main$
|
|
511818
|
+
exports2.SvgIcon = _sfc_main$m;
|
|
511349
511819
|
exports2.TextDrawing = TextDrawing;
|
|
511350
511820
|
exports2.TextDrawingFactory = TextDrawingFactory;
|
|
511351
511821
|
exports2.VectorTileLayerHandler = VectorTileLayerHandler;
|