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
|
@@ -1561,7 +1561,7 @@ const __default__$5 = defineComponent({
|
|
|
1561
1561
|
name: "ElIcon",
|
|
1562
1562
|
inheritAttrs: false
|
|
1563
1563
|
});
|
|
1564
|
-
const _sfc_main$
|
|
1564
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
1565
1565
|
...__default__$5,
|
|
1566
1566
|
props: iconProps,
|
|
1567
1567
|
setup(__props) {
|
|
@@ -1586,7 +1586,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
1586
1586
|
};
|
|
1587
1587
|
}
|
|
1588
1588
|
});
|
|
1589
|
-
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
1589
|
+
var Icon$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__file", "icon.vue"]]);
|
|
1590
1590
|
const ElIcon = withInstall(Icon$4);
|
|
1591
1591
|
/*! Element Plus Icons Vue v2.3.2 */
|
|
1592
1592
|
var _sfc_main2 = /* @__PURE__ */ defineComponent({
|
|
@@ -2863,7 +2863,7 @@ const __default__$4 = defineComponent({
|
|
|
2863
2863
|
name: COMPONENT_NAME,
|
|
2864
2864
|
inheritAttrs: false
|
|
2865
2865
|
});
|
|
2866
|
-
const _sfc_main$
|
|
2866
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
2867
2867
|
...__default__$4,
|
|
2868
2868
|
props: inputProps,
|
|
2869
2869
|
emits: inputEmits,
|
|
@@ -3274,7 +3274,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
3274
3274
|
};
|
|
3275
3275
|
}
|
|
3276
3276
|
});
|
|
3277
|
-
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3277
|
+
var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$y, [["__file", "input.vue"]]);
|
|
3278
3278
|
const ElInput = withInstall(Input);
|
|
3279
3279
|
const FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
|
|
3280
3280
|
const FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
|
|
@@ -3469,7 +3469,7 @@ const useEscapeKeydown = (handler) => {
|
|
|
3469
3469
|
}
|
|
3470
3470
|
});
|
|
3471
3471
|
};
|
|
3472
|
-
const _sfc_main$
|
|
3472
|
+
const _sfc_main$x = defineComponent({
|
|
3473
3473
|
name: "ElFocusTrap",
|
|
3474
3474
|
inheritAttrs: false,
|
|
3475
3475
|
props: {
|
|
@@ -3714,7 +3714,7 @@ const _sfc_main$w = defineComponent({
|
|
|
3714
3714
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3715
3715
|
return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
|
|
3716
3716
|
}
|
|
3717
|
-
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3717
|
+
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["render", _sfc_render$1], ["__file", "focus-trap.vue"]]);
|
|
3718
3718
|
const badgeProps = buildProps({
|
|
3719
3719
|
value: {
|
|
3720
3720
|
type: [String, Number],
|
|
@@ -3750,7 +3750,7 @@ const badgeProps = buildProps({
|
|
|
3750
3750
|
const __default__$3 = defineComponent({
|
|
3751
3751
|
name: "ElBadge"
|
|
3752
3752
|
});
|
|
3753
|
-
const _sfc_main$
|
|
3753
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
3754
3754
|
...__default__$3,
|
|
3755
3755
|
props: badgeProps,
|
|
3756
3756
|
setup(__props, { expose }) {
|
|
@@ -3812,7 +3812,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
3812
3812
|
};
|
|
3813
3813
|
}
|
|
3814
3814
|
});
|
|
3815
|
-
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
3815
|
+
var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__file", "badge.vue"]]);
|
|
3816
3816
|
const ElBadge = withInstall(Badge);
|
|
3817
3817
|
const buttonGroupContextKey = Symbol("buttonGroupContextKey");
|
|
3818
3818
|
const useDeprecated = ({ from, replacement, scope, version: version2, ref: ref2, type = "API" }, condition) => {
|
|
@@ -4907,7 +4907,7 @@ function useButtonCustomStyle(props) {
|
|
|
4907
4907
|
const __default__$2 = defineComponent({
|
|
4908
4908
|
name: "ElButton"
|
|
4909
4909
|
});
|
|
4910
|
-
const _sfc_main$
|
|
4910
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
4911
4911
|
...__default__$2,
|
|
4912
4912
|
props: buttonProps,
|
|
4913
4913
|
emits: buttonEmits,
|
|
@@ -4985,7 +4985,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
4985
4985
|
};
|
|
4986
4986
|
}
|
|
4987
4987
|
});
|
|
4988
|
-
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
4988
|
+
var Button$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__file", "button.vue"]]);
|
|
4989
4989
|
const buttonGroupProps = {
|
|
4990
4990
|
size: buttonProps.size,
|
|
4991
4991
|
type: buttonProps.type
|
|
@@ -4993,7 +4993,7 @@ const buttonGroupProps = {
|
|
|
4993
4993
|
const __default__$1 = defineComponent({
|
|
4994
4994
|
name: "ElButtonGroup"
|
|
4995
4995
|
});
|
|
4996
|
-
const _sfc_main$
|
|
4996
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
4997
4997
|
...__default__$1,
|
|
4998
4998
|
props: buttonGroupProps,
|
|
4999
4999
|
setup(__props) {
|
|
@@ -5012,7 +5012,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
5012
5012
|
};
|
|
5013
5013
|
}
|
|
5014
5014
|
});
|
|
5015
|
-
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
5015
|
+
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "button-group.vue"]]);
|
|
5016
5016
|
const ElButton = withInstall(Button$2, {
|
|
5017
5017
|
ButtonGroup
|
|
5018
5018
|
});
|
|
@@ -5459,7 +5459,7 @@ const getOffsetOrSpace = (id, offset, placement) => {
|
|
|
5459
5459
|
const __default__ = defineComponent({
|
|
5460
5460
|
name: "ElMessage"
|
|
5461
5461
|
});
|
|
5462
|
-
const _sfc_main$
|
|
5462
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
5463
5463
|
...__default__,
|
|
5464
5464
|
props: messageProps,
|
|
5465
5465
|
emits: messageEmits,
|
|
@@ -5613,7 +5613,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
|
5613
5613
|
};
|
|
5614
5614
|
}
|
|
5615
5615
|
});
|
|
5616
|
-
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
5616
|
+
var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "message.vue"]]);
|
|
5617
5617
|
let seed = 1;
|
|
5618
5618
|
const normalizeAppendTo = (normalized) => {
|
|
5619
5619
|
const appendTo = normalized.appendTo;
|
|
@@ -5808,7 +5808,7 @@ const TrapFocus = {
|
|
|
5808
5808
|
}
|
|
5809
5809
|
}
|
|
5810
5810
|
};
|
|
5811
|
-
const _sfc_main$
|
|
5811
|
+
const _sfc_main$s = defineComponent({
|
|
5812
5812
|
name: "ElMessageBox",
|
|
5813
5813
|
directives: {
|
|
5814
5814
|
TrapFocus
|
|
@@ -6280,7 +6280,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6280
6280
|
_: 3
|
|
6281
6281
|
}, 8, ["onAfterLeave"]);
|
|
6282
6282
|
}
|
|
6283
|
-
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
6283
|
+
var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["render", _sfc_render], ["__file", "index.vue"]]);
|
|
6284
6284
|
const messageInstance = /* @__PURE__ */ new Map();
|
|
6285
6285
|
const getAppendToElement = (props) => {
|
|
6286
6286
|
let appendTo = document.body;
|
|
@@ -81485,6 +81485,24 @@ let BaseLayer$2 = class BaseLayer2 {
|
|
|
81485
81485
|
this.config.opacity = this.config.opacity / 100;
|
|
81486
81486
|
}
|
|
81487
81487
|
}
|
|
81488
|
+
/**
|
|
81489
|
+
* 注册自定义投影
|
|
81490
|
+
* @returns 注册的投影代码,如果没有注册则返回 undefined
|
|
81491
|
+
*/
|
|
81492
|
+
registerCustomProjection() {
|
|
81493
|
+
const projectionCode = this.config.projection;
|
|
81494
|
+
const projectionDefinition = this.config.projectionDefinition;
|
|
81495
|
+
if (projectionCode && projectionDefinition) {
|
|
81496
|
+
try {
|
|
81497
|
+
proj4$1.defs(projectionCode, projectionDefinition);
|
|
81498
|
+
register$3(proj4$1);
|
|
81499
|
+
return projectionCode;
|
|
81500
|
+
} catch (error2) {
|
|
81501
|
+
console.error(`Failed to register projection ${projectionCode}:`, error2);
|
|
81502
|
+
}
|
|
81503
|
+
}
|
|
81504
|
+
return void 0;
|
|
81505
|
+
}
|
|
81488
81506
|
/**
|
|
81489
81507
|
* 获取图层实例(同步方法,用于向后兼容)
|
|
81490
81508
|
*/
|
|
@@ -81942,6 +81960,7 @@ class TileLayerHandler extends BaseLayer$2 {
|
|
|
81942
81960
|
* 创建瓦片数据源
|
|
81943
81961
|
*/
|
|
81944
81962
|
createTileSource() {
|
|
81963
|
+
this.registerCustomProjection();
|
|
81945
81964
|
let sourceType = this.getSourceTypeFromLayerType();
|
|
81946
81965
|
sourceType = sourceType || "xyz";
|
|
81947
81966
|
switch (sourceType.toLowerCase()) {
|
|
@@ -82060,7 +82079,8 @@ class WMSLayerHandler extends BaseLayer$2 {
|
|
|
82060
82079
|
* 创建WMS数据源
|
|
82061
82080
|
*/
|
|
82062
82081
|
createWMSSource() {
|
|
82063
|
-
|
|
82082
|
+
this.registerCustomProjection();
|
|
82083
|
+
const options = {
|
|
82064
82084
|
url: this.config.url,
|
|
82065
82085
|
params: {
|
|
82066
82086
|
"LAYERS": this.config.wmsLayers || "",
|
|
@@ -82070,7 +82090,11 @@ class WMSLayerHandler extends BaseLayer$2 {
|
|
|
82070
82090
|
},
|
|
82071
82091
|
ratio: 1,
|
|
82072
82092
|
crossOrigin: "anonymous"
|
|
82073
|
-
}
|
|
82093
|
+
};
|
|
82094
|
+
if (this.config.projection) {
|
|
82095
|
+
options.projection = this.config.projection;
|
|
82096
|
+
}
|
|
82097
|
+
return new ImageWMS$1(options);
|
|
82074
82098
|
}
|
|
82075
82099
|
/**
|
|
82076
82100
|
* 更新WMS参数
|
|
@@ -82355,13 +82379,17 @@ class WMTSLayerHandler extends BaseLayer$2 {
|
|
|
82355
82379
|
* 创建WMTS数据源
|
|
82356
82380
|
*/
|
|
82357
82381
|
createWMTSSource() {
|
|
82358
|
-
|
|
82359
|
-
|
|
82382
|
+
const wmtsConfig = this.config.wmtsConfig || {};
|
|
82383
|
+
const url = wmtsConfig.url || this.config.url;
|
|
82384
|
+
if (!url) {
|
|
82385
|
+
throw new Error("WMTS URL is required");
|
|
82360
82386
|
}
|
|
82387
|
+
if (this.config.url && !this.capabilities && !wmtsConfig.resolutions)
|
|
82388
|
+
;
|
|
82361
82389
|
if (this.capabilities) {
|
|
82362
82390
|
const options = optionsFromCapabilities(this.capabilities, {
|
|
82363
|
-
layer: this.config.
|
|
82364
|
-
matrixSet: this.config.
|
|
82391
|
+
layer: wmtsConfig.layer || this.config.layerName || "",
|
|
82392
|
+
matrixSet: wmtsConfig.matrixSet || this.config.matrixSet || "EPSG:4326"
|
|
82365
82393
|
});
|
|
82366
82394
|
if (!options) {
|
|
82367
82395
|
throw new Error("Failed to create WMTS options from capabilities");
|
|
@@ -82377,26 +82405,46 @@ class WMTSLayerHandler extends BaseLayer$2 {
|
|
|
82377
82405
|
crossOrigin: "anonymous"
|
|
82378
82406
|
});
|
|
82379
82407
|
} else {
|
|
82380
|
-
const
|
|
82381
|
-
const
|
|
82382
|
-
|
|
82383
|
-
|
|
82384
|
-
|
|
82385
|
-
for (let z2 = 0; z2 < 19; ++z2) {
|
|
82386
|
-
resolutions[z2] = size2 / Math.pow(2, z2);
|
|
82387
|
-
matrixIds[z2] = z2;
|
|
82408
|
+
const projectionCode = wmtsConfig.projection || this.config.projection || "EPSG:4326";
|
|
82409
|
+
const projectionDefinition = wmtsConfig.projectionDefinition || this.config.projectionDefinition;
|
|
82410
|
+
if (projectionDefinition) {
|
|
82411
|
+
proj4$1.defs(projectionCode, projectionDefinition);
|
|
82412
|
+
register$3(proj4$1);
|
|
82388
82413
|
}
|
|
82414
|
+
const projection2 = get$b(projectionCode);
|
|
82415
|
+
const projectionExtent = projection2.getExtent();
|
|
82416
|
+
let resolutions = wmtsConfig.resolutions || this.config.resolutions;
|
|
82417
|
+
let matrixIds = wmtsConfig.matrixIds || this.config.matrixIds;
|
|
82418
|
+
const tileSize = wmtsConfig.tileSize || 256;
|
|
82419
|
+
const tileSizeNumber = typeof tileSize === "number" ? tileSize : tileSize[0];
|
|
82420
|
+
if (!resolutions) {
|
|
82421
|
+
const width = projectionExtent[2] - projectionExtent[0];
|
|
82422
|
+
const size2 = width / tileSizeNumber;
|
|
82423
|
+
const zoomLevels = 19;
|
|
82424
|
+
resolutions = new Array(zoomLevels);
|
|
82425
|
+
for (let z2 = 0; z2 < zoomLevels; ++z2) {
|
|
82426
|
+
resolutions[z2] = size2 / Math.pow(2, z2);
|
|
82427
|
+
}
|
|
82428
|
+
}
|
|
82429
|
+
if (!matrixIds) {
|
|
82430
|
+
matrixIds = new Array(resolutions.length);
|
|
82431
|
+
for (let z2 = 0; z2 < resolutions.length; ++z2) {
|
|
82432
|
+
matrixIds[z2] = z2.toString();
|
|
82433
|
+
}
|
|
82434
|
+
}
|
|
82435
|
+
const origin = wmtsConfig.origin || this.config.origin || [projectionExtent[0], projectionExtent[3]];
|
|
82389
82436
|
return new WMTS$3({
|
|
82390
|
-
url
|
|
82391
|
-
layer: this.config.
|
|
82392
|
-
matrixSet: this.config.
|
|
82393
|
-
format: "image/png",
|
|
82394
|
-
projection:
|
|
82395
|
-
style: this.config.
|
|
82437
|
+
url,
|
|
82438
|
+
layer: wmtsConfig.layer || this.config.layerName || "",
|
|
82439
|
+
matrixSet: wmtsConfig.matrixSet || this.config.matrixSet || projectionCode,
|
|
82440
|
+
format: wmtsConfig.format || this.config.format || "image/png",
|
|
82441
|
+
projection: projectionCode,
|
|
82442
|
+
style: wmtsConfig.style || this.config.style || "default",
|
|
82396
82443
|
tileGrid: new WMTSTileGrid$3({
|
|
82397
|
-
origin
|
|
82444
|
+
origin,
|
|
82398
82445
|
resolutions,
|
|
82399
|
-
matrixIds
|
|
82446
|
+
matrixIds,
|
|
82447
|
+
tileSize
|
|
82400
82448
|
}),
|
|
82401
82449
|
crossOrigin: "anonymous"
|
|
82402
82450
|
});
|
|
@@ -82440,21 +82488,21 @@ class WMTSLayerHandler extends BaseLayer$2 {
|
|
|
82440
82488
|
* 设置图层
|
|
82441
82489
|
*/
|
|
82442
82490
|
setLayer(layer2) {
|
|
82443
|
-
this.config.
|
|
82491
|
+
this.config.layerName = layer2;
|
|
82444
82492
|
this.layer = null;
|
|
82445
82493
|
}
|
|
82446
82494
|
/**
|
|
82447
82495
|
* 设置矩阵集
|
|
82448
82496
|
*/
|
|
82449
82497
|
setMatrixSet(matrixSet) {
|
|
82450
|
-
this.config.
|
|
82498
|
+
this.config.matrixSet = matrixSet;
|
|
82451
82499
|
this.layer = null;
|
|
82452
82500
|
}
|
|
82453
82501
|
/**
|
|
82454
82502
|
* 设置样式
|
|
82455
82503
|
*/
|
|
82456
82504
|
setWMTSStyle(style) {
|
|
82457
|
-
this.config.
|
|
82505
|
+
this.config.style = style;
|
|
82458
82506
|
this.layer = null;
|
|
82459
82507
|
}
|
|
82460
82508
|
/**
|
|
@@ -83259,10 +83307,13 @@ class GeoJSONLayerHandler extends BaseLayer$2 {
|
|
|
83259
83307
|
*/
|
|
83260
83308
|
createVectorSource() {
|
|
83261
83309
|
var _a3;
|
|
83310
|
+
this.registerCustomProjection();
|
|
83262
83311
|
const format2 = new GeoJSON$4();
|
|
83263
83312
|
const mapProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
83313
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
83264
83314
|
if (this.config.data) {
|
|
83265
83315
|
const features2 = format2.readFeatures(this.config.data, {
|
|
83316
|
+
dataProjection,
|
|
83266
83317
|
featureProjection: mapProjection
|
|
83267
83318
|
});
|
|
83268
83319
|
this.originalFeatures = features2;
|
|
@@ -83270,7 +83321,10 @@ class GeoJSONLayerHandler extends BaseLayer$2 {
|
|
|
83270
83321
|
} else if (this.config.url) {
|
|
83271
83322
|
const source = new VectorSource$2({
|
|
83272
83323
|
url: this.config.url,
|
|
83273
|
-
format: new GeoJSON$4({
|
|
83324
|
+
format: new GeoJSON$4({
|
|
83325
|
+
dataProjection,
|
|
83326
|
+
featureProjection: mapProjection
|
|
83327
|
+
})
|
|
83274
83328
|
});
|
|
83275
83329
|
source.on("featuresloadend", () => {
|
|
83276
83330
|
this.originalFeatures = source.getFeatures();
|
|
@@ -83663,6 +83717,7 @@ class GeoJSONLayerHandler extends BaseLayer$2 {
|
|
|
83663
83717
|
* 应用过滤器(实现基类的抽象方法)
|
|
83664
83718
|
*/
|
|
83665
83719
|
applyFilters() {
|
|
83720
|
+
debugger;
|
|
83666
83721
|
const layer2 = this.getLayer();
|
|
83667
83722
|
const source = layer2.getSource();
|
|
83668
83723
|
if (!source)
|
|
@@ -83909,6 +83964,7 @@ class KMLLayerHandler extends BaseLayer$2 {
|
|
|
83909
83964
|
* 创建图层
|
|
83910
83965
|
*/
|
|
83911
83966
|
createLayer() {
|
|
83967
|
+
this.registerCustomProjection();
|
|
83912
83968
|
this.vectorSource = new VectorSource$2({
|
|
83913
83969
|
url: this.config.url,
|
|
83914
83970
|
format: this.kmlFormat
|
|
@@ -84184,9 +84240,10 @@ class GMLLayerHandler extends BaseLayer$2 {
|
|
|
84184
84240
|
* 初始化GML格式处理器
|
|
84185
84241
|
*/
|
|
84186
84242
|
initializeGMLFormat() {
|
|
84243
|
+
this.registerCustomProjection();
|
|
84187
84244
|
const gmlConfig = this.config.gmlConfig || {};
|
|
84188
84245
|
this.gmlFormat = new GML$1({
|
|
84189
|
-
srsName: gmlConfig.srsName || "EPSG:4326"
|
|
84246
|
+
srsName: gmlConfig.srsName || this.config.projection || "EPSG:4326"
|
|
84190
84247
|
});
|
|
84191
84248
|
}
|
|
84192
84249
|
/**
|
|
@@ -84562,13 +84619,20 @@ class WKTLayerHandler extends BaseLayer$2 {
|
|
|
84562
84619
|
* 从WKT字符串加载数据
|
|
84563
84620
|
*/
|
|
84564
84621
|
loadWKTFromString(wktString) {
|
|
84622
|
+
var _a3;
|
|
84565
84623
|
if (!this.wktFormat || !this.vectorSource)
|
|
84566
84624
|
return;
|
|
84625
|
+
this.registerCustomProjection();
|
|
84626
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
84627
|
+
const featureProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
84567
84628
|
try {
|
|
84568
84629
|
const wktLines = wktString.split("\n").filter((line2) => line2.trim());
|
|
84569
84630
|
wktLines.forEach((line2, index2) => {
|
|
84570
84631
|
try {
|
|
84571
|
-
const geometry2 = this.wktFormat.readGeometry(line2.trim()
|
|
84632
|
+
const geometry2 = this.wktFormat.readGeometry(line2.trim(), {
|
|
84633
|
+
dataProjection,
|
|
84634
|
+
featureProjection
|
|
84635
|
+
});
|
|
84572
84636
|
const feature2 = new Feature$6({
|
|
84573
84637
|
geometry: geometry2,
|
|
84574
84638
|
id: `wkt_feature_${index2}`,
|
|
@@ -84654,10 +84718,16 @@ class WKTLayerHandler extends BaseLayer$2 {
|
|
|
84654
84718
|
* 添加WKT几何
|
|
84655
84719
|
*/
|
|
84656
84720
|
addWKTGeometry(wktString, properties) {
|
|
84721
|
+
var _a3;
|
|
84657
84722
|
if (!this.wktFormat || !this.vectorSource)
|
|
84658
84723
|
return null;
|
|
84724
|
+
const dataProjection = this.config.projection || "EPSG:4326";
|
|
84725
|
+
const featureProjection = ((_a3 = this.map) == null ? void 0 : _a3.getView().getProjection().getCode()) || "EPSG:4326";
|
|
84659
84726
|
try {
|
|
84660
|
-
const geometry2 = this.wktFormat.readGeometry(wktString
|
|
84727
|
+
const geometry2 = this.wktFormat.readGeometry(wktString, {
|
|
84728
|
+
dataProjection,
|
|
84729
|
+
featureProjection
|
|
84730
|
+
});
|
|
84661
84731
|
const feature2 = new Feature$6({
|
|
84662
84732
|
geometry: geometry2,
|
|
84663
84733
|
wkt: wktString,
|
|
@@ -465456,6 +465526,7 @@ const _TiandituLayerHandler = class _TiandituLayerHandler extends BaseLayer$2 {
|
|
|
465456
465526
|
* 创建天地图XYZ数据源
|
|
465457
465527
|
*/
|
|
465458
465528
|
createTiandituSource() {
|
|
465529
|
+
this.registerCustomProjection();
|
|
465459
465530
|
const url = this.processUrl(this.config.url || "");
|
|
465460
465531
|
const xyzOptions = {
|
|
465461
465532
|
url,
|
|
@@ -465852,6 +465923,7 @@ class VectorTileLayerHandler extends BaseLayer$2 {
|
|
|
465852
465923
|
* 创建矢量瓦片数据源
|
|
465853
465924
|
*/
|
|
465854
465925
|
createVectorTileSource() {
|
|
465926
|
+
this.registerCustomProjection();
|
|
465855
465927
|
const config = this.config;
|
|
465856
465928
|
const format2 = this.createFormat();
|
|
465857
465929
|
const sourceOptions = {
|
|
@@ -465900,7 +465972,7 @@ class VectorTileLayerHandler extends BaseLayer$2 {
|
|
|
465900
465972
|
});
|
|
465901
465973
|
case "geojson":
|
|
465902
465974
|
return new GeoJSON$4({
|
|
465903
|
-
dataProjection: config.dataProjection || "EPSG:4326",
|
|
465975
|
+
dataProjection: config.dataProjection || config.projection || "EPSG:4326",
|
|
465904
465976
|
featureProjection: config.featureProjection || "EPSG:4326"
|
|
465905
465977
|
});
|
|
465906
465978
|
default:
|
|
@@ -466372,6 +466444,8 @@ class LayerManager {
|
|
|
466372
466444
|
__publicField(this, "storage");
|
|
466373
466445
|
// 存储baseLayers配置,用于判断图层是否为底图
|
|
466374
466446
|
__publicField(this, "baseLayerIds", /* @__PURE__ */ new Set());
|
|
466447
|
+
// 存储共享图层组信息
|
|
466448
|
+
__publicField(this, "sharedLayerGroups", /* @__PURE__ */ new Map());
|
|
466375
466449
|
this.map = map2;
|
|
466376
466450
|
this.eventBus = eventBus;
|
|
466377
466451
|
this.storage = storage2;
|
|
@@ -466381,6 +466455,7 @@ class LayerManager {
|
|
|
466381
466455
|
* 添加图层(支持按需加载)
|
|
466382
466456
|
*/
|
|
466383
466457
|
async addLayer(config) {
|
|
466458
|
+
var _a3, _b3;
|
|
466384
466459
|
try {
|
|
466385
466460
|
const layerId = config.id || `layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
466386
466461
|
if (this.layerHandlers.has(layerId) || this.pendingLayerConfigs.has(layerId)) {
|
|
@@ -466395,7 +466470,11 @@ class LayerManager {
|
|
|
466395
466470
|
opacity: config.opacity ?? 1,
|
|
466396
466471
|
zIndex: config.zIndex ?? 0
|
|
466397
466472
|
};
|
|
466398
|
-
|
|
466473
|
+
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;
|
|
466474
|
+
if (isGroup) {
|
|
466475
|
+
if (fullConfig.type !== "group") {
|
|
466476
|
+
fullConfig.type = "group";
|
|
466477
|
+
}
|
|
466399
466478
|
return this.addLayerGroup(fullConfig);
|
|
466400
466479
|
}
|
|
466401
466480
|
if (fullConfig.visible && this.isBasemapLayer(layerId)) {
|
|
@@ -466507,6 +466586,174 @@ class LayerManager {
|
|
|
466507
466586
|
console.error("执行定位动画失败:", error2);
|
|
466508
466587
|
}
|
|
466509
466588
|
}
|
|
466589
|
+
/**
|
|
466590
|
+
* 设置共享图层样式函数
|
|
466591
|
+
*/
|
|
466592
|
+
setupSharedLayerStyle(layer2, reuseId) {
|
|
466593
|
+
if (!(layer2 instanceof VectorLayer$3)) {
|
|
466594
|
+
return;
|
|
466595
|
+
}
|
|
466596
|
+
const originalStyleFunction = layer2.getStyleFunction();
|
|
466597
|
+
layer2.setStyle((function(feature2, resolution) {
|
|
466598
|
+
const group2 = this.sharedLayerGroups.get(reuseId);
|
|
466599
|
+
if (!group2)
|
|
466600
|
+
return null;
|
|
466601
|
+
let matched = false;
|
|
466602
|
+
let styleToUse = null;
|
|
466603
|
+
for (const layerId of group2.logicalLayers) {
|
|
466604
|
+
const config = this.layerConfigs.get(layerId);
|
|
466605
|
+
if (config && config.visible) {
|
|
466606
|
+
try {
|
|
466607
|
+
if (this.checkFeatureFilter(feature2, config.filters)) {
|
|
466608
|
+
matched = true;
|
|
466609
|
+
const handler = this.layerHandlers.get(layerId);
|
|
466610
|
+
if (handler) {
|
|
466611
|
+
const isFirst = group2.logicalLayers.values().next().value === layerId;
|
|
466612
|
+
if (isFirst) {
|
|
466613
|
+
if (originalStyleFunction) {
|
|
466614
|
+
styleToUse = originalStyleFunction(feature2, resolution);
|
|
466615
|
+
}
|
|
466616
|
+
} else {
|
|
466617
|
+
const logicalLayer = handler.getLayer();
|
|
466618
|
+
if (logicalLayer && logicalLayer instanceof VectorLayer$3 && logicalLayer !== layer2) {
|
|
466619
|
+
const styleFunc = logicalLayer.getStyleFunction();
|
|
466620
|
+
if (styleFunc) {
|
|
466621
|
+
styleToUse = styleFunc(feature2, resolution);
|
|
466622
|
+
}
|
|
466623
|
+
} else {
|
|
466624
|
+
if (originalStyleFunction) {
|
|
466625
|
+
styleToUse = originalStyleFunction(feature2, resolution);
|
|
466626
|
+
}
|
|
466627
|
+
}
|
|
466628
|
+
}
|
|
466629
|
+
if (styleToUse || matched) {
|
|
466630
|
+
break;
|
|
466631
|
+
}
|
|
466632
|
+
}
|
|
466633
|
+
}
|
|
466634
|
+
} catch (e8) {
|
|
466635
|
+
console.error("Error checking feature filter:", e8);
|
|
466636
|
+
}
|
|
466637
|
+
}
|
|
466638
|
+
}
|
|
466639
|
+
if (matched) {
|
|
466640
|
+
if (styleToUse)
|
|
466641
|
+
return styleToUse;
|
|
466642
|
+
if (originalStyleFunction)
|
|
466643
|
+
return originalStyleFunction(feature2, resolution);
|
|
466644
|
+
return void 0;
|
|
466645
|
+
}
|
|
466646
|
+
return null;
|
|
466647
|
+
}).bind(this));
|
|
466648
|
+
}
|
|
466649
|
+
/**
|
|
466650
|
+
* 更新共享图层状态(处理WMS参数更新或Vector重绘)
|
|
466651
|
+
*/
|
|
466652
|
+
updateSharedLayerState(reuseId) {
|
|
466653
|
+
const group2 = this.sharedLayerGroups.get(reuseId);
|
|
466654
|
+
if (!group2)
|
|
466655
|
+
return;
|
|
466656
|
+
const layer2 = group2.physicalLayer;
|
|
466657
|
+
const source = layer2.getSource();
|
|
466658
|
+
if (source && typeof source.updateParams === "function") {
|
|
466659
|
+
const visibleLayers = Array.from(group2.logicalLayers).filter((id) => {
|
|
466660
|
+
const config = this.layerConfigs.get(id);
|
|
466661
|
+
return config && config.visible;
|
|
466662
|
+
});
|
|
466663
|
+
const wmsLayersList = [];
|
|
466664
|
+
const cqlFilterList = [];
|
|
466665
|
+
visibleLayers.forEach((id) => {
|
|
466666
|
+
var _a3, _b3;
|
|
466667
|
+
const config = this.layerConfigs.get(id);
|
|
466668
|
+
if (config) {
|
|
466669
|
+
const layers = config.wmsLayers || ((_b3 = (_a3 = config.config) == null ? void 0 : _a3.wms) == null ? void 0 : _b3.layers);
|
|
466670
|
+
if (layers) {
|
|
466671
|
+
wmsLayersList.push(layers);
|
|
466672
|
+
let cql = "";
|
|
466673
|
+
if (config.filters && config.filters.length > 0) {
|
|
466674
|
+
const conditions = config.filters.filter((f2) => f2.enabled && f2.type === FilterType.ATTRIBUTE).map((f2) => {
|
|
466675
|
+
const attrFilter = f2;
|
|
466676
|
+
let val = attrFilter.value;
|
|
466677
|
+
if (typeof val === "string") {
|
|
466678
|
+
val = `'${val}'`;
|
|
466679
|
+
}
|
|
466680
|
+
switch (attrFilter.operator) {
|
|
466681
|
+
case FilterOperator.EQUAL:
|
|
466682
|
+
return `${attrFilter.property}=${val}`;
|
|
466683
|
+
case FilterOperator.NOT_EQUAL:
|
|
466684
|
+
return `${attrFilter.property}<>${val}`;
|
|
466685
|
+
case FilterOperator.GREATER_THAN:
|
|
466686
|
+
return `${attrFilter.property}>${val}`;
|
|
466687
|
+
case FilterOperator.LESS_THAN:
|
|
466688
|
+
return `${attrFilter.property}<${val}`;
|
|
466689
|
+
case FilterOperator.GREATER_EQUAL:
|
|
466690
|
+
return `${attrFilter.property}>=${val}`;
|
|
466691
|
+
case FilterOperator.LESS_EQUAL:
|
|
466692
|
+
return `${attrFilter.property}<=${val}`;
|
|
466693
|
+
case FilterOperator.LIKE:
|
|
466694
|
+
return `${attrFilter.property} LIKE ${val}`;
|
|
466695
|
+
case FilterOperator.IN:
|
|
466696
|
+
if (Array.isArray(attrFilter.value)) {
|
|
466697
|
+
const inVals = attrFilter.value.map((v5) => typeof v5 === "string" ? `'${v5}'` : v5).join(",");
|
|
466698
|
+
return `${attrFilter.property} IN (${inVals})`;
|
|
466699
|
+
}
|
|
466700
|
+
return `${attrFilter.property} IN (${attrFilter.value})`;
|
|
466701
|
+
default:
|
|
466702
|
+
return "";
|
|
466703
|
+
}
|
|
466704
|
+
}).filter((c2) => c2 !== "");
|
|
466705
|
+
if (conditions.length > 0) {
|
|
466706
|
+
cql = conditions.join(" AND ");
|
|
466707
|
+
}
|
|
466708
|
+
}
|
|
466709
|
+
cqlFilterList.push(cql === "" ? "INCLUDE" : cql);
|
|
466710
|
+
}
|
|
466711
|
+
}
|
|
466712
|
+
});
|
|
466713
|
+
if (wmsLayersList.length > 0) {
|
|
466714
|
+
const newLayersParam = wmsLayersList.join(",");
|
|
466715
|
+
const newCqlFilterParam = cqlFilterList.join(";");
|
|
466716
|
+
const params2 = { "LAYERS": newLayersParam };
|
|
466717
|
+
if (cqlFilterList.some((c2) => c2 !== "INCLUDE")) {
|
|
466718
|
+
params2["CQL_FILTER"] = newCqlFilterParam;
|
|
466719
|
+
} else {
|
|
466720
|
+
params2["CQL_FILTER"] = null;
|
|
466721
|
+
}
|
|
466722
|
+
source.updateParams(params2);
|
|
466723
|
+
console.log(`共享WMS图层 ${reuseId} 更新参数: LAYERS=${newLayersParam}, CQL_FILTER=${newCqlFilterParam}`);
|
|
466724
|
+
return;
|
|
466725
|
+
}
|
|
466726
|
+
}
|
|
466727
|
+
layer2.changed();
|
|
466728
|
+
}
|
|
466729
|
+
/**
|
|
466730
|
+
* 检查要素是否匹配过滤条件
|
|
466731
|
+
*/
|
|
466732
|
+
checkFeatureFilter(feature2, filters) {
|
|
466733
|
+
if (!filters || filters.length === 0) {
|
|
466734
|
+
return true;
|
|
466735
|
+
}
|
|
466736
|
+
for (const filter2 of filters) {
|
|
466737
|
+
if (!filter2.enabled)
|
|
466738
|
+
continue;
|
|
466739
|
+
if (filter2.type === FilterType.ATTRIBUTE) {
|
|
466740
|
+
const props = feature2.getProperties();
|
|
466741
|
+
const value = props[filter2.property];
|
|
466742
|
+
const targetValue = filter2.value;
|
|
466743
|
+
switch (filter2.operator) {
|
|
466744
|
+
case FilterOperator.EQUAL:
|
|
466745
|
+
if (value != targetValue)
|
|
466746
|
+
return false;
|
|
466747
|
+
break;
|
|
466748
|
+
case FilterOperator.NOT_EQUAL:
|
|
466749
|
+
if (value == targetValue)
|
|
466750
|
+
return false;
|
|
466751
|
+
break;
|
|
466752
|
+
}
|
|
466753
|
+
}
|
|
466754
|
+
}
|
|
466755
|
+
return true;
|
|
466756
|
+
}
|
|
466510
466757
|
/**
|
|
466511
466758
|
* 获取缓动函数
|
|
466512
466759
|
*/
|
|
@@ -466537,19 +466784,44 @@ class LayerManager {
|
|
|
466537
466784
|
* 异步添加图层
|
|
466538
466785
|
*/
|
|
466539
466786
|
async addLayerAsync(fullConfig, handler) {
|
|
466540
|
-
var _a3;
|
|
466787
|
+
var _a3, _b3;
|
|
466541
466788
|
try {
|
|
466542
466789
|
const layer2 = await handler.getLayerAsync();
|
|
466543
466790
|
layer2.set("layerId", fullConfig.id);
|
|
466544
466791
|
this.layerHandlers.set(fullConfig.id, handler);
|
|
466545
466792
|
this.layerConfigs.set(fullConfig.id, fullConfig);
|
|
466546
466793
|
console.log("kjthis.layerConfigs:", this.layerConfigs);
|
|
466547
|
-
|
|
466794
|
+
let isReuse = false;
|
|
466795
|
+
if (fullConfig.reuseId) {
|
|
466796
|
+
const reuseId = fullConfig.reuseId;
|
|
466797
|
+
let group2 = this.sharedLayerGroups.get(reuseId);
|
|
466798
|
+
if (group2) {
|
|
466799
|
+
console.log(`图层 ${fullConfig.id} 复用物理图层 ${reuseId}`);
|
|
466800
|
+
group2.logicalLayers.add(fullConfig.id);
|
|
466801
|
+
isReuse = true;
|
|
466802
|
+
this.updateSharedLayerState(reuseId);
|
|
466803
|
+
} else {
|
|
466804
|
+
console.log(`图层 ${fullConfig.id} 创建共享物理图层 ${reuseId}`);
|
|
466805
|
+
this.sharedLayerGroups.set(reuseId, {
|
|
466806
|
+
physicalLayer: layer2,
|
|
466807
|
+
logicalLayers: /* @__PURE__ */ new Set([fullConfig.id])
|
|
466808
|
+
});
|
|
466809
|
+
this.setupSharedLayerStyle(layer2, reuseId);
|
|
466810
|
+
this.map.addLayer(layer2);
|
|
466811
|
+
}
|
|
466812
|
+
} else {
|
|
466813
|
+
this.map.addLayer(layer2);
|
|
466814
|
+
}
|
|
466548
466815
|
if (fullConfig.zIndex !== void 0) {
|
|
466549
|
-
|
|
466816
|
+
if (fullConfig.reuseId && this.sharedLayerGroups.has(fullConfig.reuseId)) {
|
|
466817
|
+
const group2 = this.sharedLayerGroups.get(fullConfig.reuseId);
|
|
466818
|
+
group2.physicalLayer.setZIndex(fullConfig.zIndex);
|
|
466819
|
+
} else {
|
|
466820
|
+
handler.setZIndex(fullConfig.zIndex);
|
|
466821
|
+
}
|
|
466550
466822
|
console.log(`图层 ${fullConfig.id} 设置 zIndex: ${fullConfig.zIndex}`);
|
|
466551
466823
|
}
|
|
466552
|
-
if ("applyLayerStyles" in handler) {
|
|
466824
|
+
if ("applyLayerStyles" in handler && !isReuse) {
|
|
466553
466825
|
setTimeout(() => {
|
|
466554
466826
|
handler.applyLayerStyles();
|
|
466555
466827
|
}, 50);
|
|
@@ -466563,7 +466835,9 @@ class LayerManager {
|
|
|
466563
466835
|
layerConfig: fullConfig
|
|
466564
466836
|
});
|
|
466565
466837
|
if (((_a3 = fullConfig.locationAnimation) == null ? void 0 : _a3.enabled) && fullConfig.visible) {
|
|
466566
|
-
this.
|
|
466838
|
+
if (!isReuse || !((_b3 = this.sharedLayerGroups.get(fullConfig.reuseId)) == null ? void 0 : _b3.physicalLayer.getVisible())) {
|
|
466839
|
+
this.handleLocationAnimation(fullConfig.reuseId ? this.sharedLayerGroups.get(fullConfig.reuseId).physicalLayer : layer2, fullConfig);
|
|
466840
|
+
}
|
|
466567
466841
|
}
|
|
466568
466842
|
return true;
|
|
466569
466843
|
} catch (error2) {
|
|
@@ -466588,7 +466862,7 @@ class LayerManager {
|
|
|
466588
466862
|
const childLayers = [];
|
|
466589
466863
|
if (groupConfig.children) {
|
|
466590
466864
|
for (const childConfig of groupConfig.children) {
|
|
466591
|
-
const childLayerId = `${groupConfig.id}_child_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
466865
|
+
const childLayerId = childConfig.id || `${groupConfig.id}_child_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
466592
466866
|
const childFullConfig = {
|
|
466593
466867
|
...childConfig,
|
|
466594
466868
|
id: childLayerId,
|
|
@@ -466601,9 +466875,10 @@ class LayerManager {
|
|
|
466601
466875
|
}
|
|
466602
466876
|
}
|
|
466603
466877
|
}
|
|
466878
|
+
const layersList = [];
|
|
466604
466879
|
if (groupConfig.layers) {
|
|
466605
466880
|
for (const layerConfig of groupConfig.layers) {
|
|
466606
|
-
const layerLayerId = `${groupConfig.id}_layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
466881
|
+
const layerLayerId = layerConfig.id || `${groupConfig.id}_layer_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
466607
466882
|
const layerFullConfig = {
|
|
466608
466883
|
...layerConfig,
|
|
466609
466884
|
id: layerLayerId,
|
|
@@ -466612,10 +466887,14 @@ class LayerManager {
|
|
|
466612
466887
|
opacity: layerConfig.opacity ?? groupConfig.opacity
|
|
466613
466888
|
};
|
|
466614
466889
|
if (this.addLayer(layerFullConfig)) {
|
|
466890
|
+
layersList.push(layerFullConfig);
|
|
466615
466891
|
}
|
|
466616
466892
|
}
|
|
466617
466893
|
}
|
|
466618
466894
|
groupConfig.children = childLayers;
|
|
466895
|
+
if (layersList.length > 0) {
|
|
466896
|
+
groupConfig.layers = layersList;
|
|
466897
|
+
}
|
|
466619
466898
|
this.layerConfigs.set(groupConfig.id, groupConfig);
|
|
466620
466899
|
this.saveLayerConfigs();
|
|
466621
466900
|
this.eventBus.emit("layer-added", {
|
|
@@ -466642,15 +466921,26 @@ class LayerManager {
|
|
|
466642
466921
|
console.warn(`未找到图层配置: ${layerId}`);
|
|
466643
466922
|
return false;
|
|
466644
466923
|
}
|
|
466645
|
-
if (handler && this.layerConfigs.has(layerId)) {
|
|
466646
|
-
if (config.type === "group"
|
|
466647
|
-
|
|
466648
|
-
|
|
466924
|
+
if ((handler || config.type === "group") && this.layerConfigs.has(layerId)) {
|
|
466925
|
+
if (config.type === "group") {
|
|
466926
|
+
if (config.children) {
|
|
466927
|
+
for (const child of config.children) {
|
|
466928
|
+
this.removeLayer(child.id);
|
|
466929
|
+
}
|
|
466649
466930
|
}
|
|
466650
|
-
|
|
466931
|
+
if (config.layers) {
|
|
466932
|
+
for (const layer2 of config.layers) {
|
|
466933
|
+
this.removeLayer(layer2.id);
|
|
466934
|
+
}
|
|
466935
|
+
}
|
|
466936
|
+
if (handler)
|
|
466937
|
+
handler.destroy();
|
|
466938
|
+
} else if (handler) {
|
|
466651
466939
|
handler.destroy();
|
|
466652
466940
|
}
|
|
466653
|
-
|
|
466941
|
+
if (handler) {
|
|
466942
|
+
this.layerHandlers.delete(layerId);
|
|
466943
|
+
}
|
|
466654
466944
|
this.layerConfigs.delete(layerId);
|
|
466655
466945
|
}
|
|
466656
466946
|
this.pendingLayerConfigs.delete(layerId);
|
|
@@ -466722,7 +467012,7 @@ class LayerManager {
|
|
|
466722
467012
|
console.warn(`图层配置不存在: ${layerId}`);
|
|
466723
467013
|
return false;
|
|
466724
467014
|
}
|
|
466725
|
-
if (config.type === "group" && config.children) {
|
|
467015
|
+
if (config.type === "group" && (config.children || config.layers)) {
|
|
466726
467016
|
return await this.setGroupLayerVisible(layerId, visible);
|
|
466727
467017
|
}
|
|
466728
467018
|
if (visible && !this.layerHandlers.has(layerId)) {
|
|
@@ -466737,28 +467027,58 @@ class LayerManager {
|
|
|
466737
467027
|
if (visible && this.isBasemapLayer(layerId)) {
|
|
466738
467028
|
await this.hideOtherBasemaps(layerId);
|
|
466739
467029
|
}
|
|
466740
|
-
handler.setVisible(visible);
|
|
466741
467030
|
config.visible = visible;
|
|
466742
|
-
this.saveLayerConfigs();
|
|
466743
467031
|
if (this.pendingLayerConfigs.has(layerId)) {
|
|
466744
467032
|
this.pendingLayerConfigs.set(layerId, config);
|
|
466745
467033
|
}
|
|
466746
|
-
|
|
466747
|
-
|
|
466748
|
-
const
|
|
466749
|
-
|
|
466750
|
-
this.
|
|
466751
|
-
|
|
466752
|
-
|
|
466753
|
-
|
|
466754
|
-
|
|
466755
|
-
|
|
466756
|
-
|
|
466757
|
-
|
|
466758
|
-
|
|
466759
|
-
|
|
467034
|
+
this.layerConfigs.set(layerId, config);
|
|
467035
|
+
if (config.reuseId && this.sharedLayerGroups.has(config.reuseId)) {
|
|
467036
|
+
const group2 = this.sharedLayerGroups.get(config.reuseId);
|
|
467037
|
+
const anyVisible = Array.from(group2.logicalLayers).some((id) => {
|
|
467038
|
+
const c2 = this.layerConfigs.get(id);
|
|
467039
|
+
return c2 && c2.visible;
|
|
467040
|
+
});
|
|
467041
|
+
group2.physicalLayer.setVisible(anyVisible);
|
|
467042
|
+
this.updateSharedLayerState(config.reuseId);
|
|
467043
|
+
console.log(`共享图层 ${config.reuseId} 逻辑图层 ${layerId} 可见性设为 ${visible}, 物理图层可见性: ${anyVisible}`);
|
|
467044
|
+
if (visible) {
|
|
467045
|
+
if (anyVisible) {
|
|
467046
|
+
const layer2 = group2.physicalLayer;
|
|
467047
|
+
const animCfg = config.locationAnimation;
|
|
467048
|
+
if (animCfg && animCfg.enabled) {
|
|
467049
|
+
this.handleLocationAnimation(layer2, config);
|
|
467050
|
+
} else if (config.fitToExtent) {
|
|
467051
|
+
const defaultAnim = {
|
|
467052
|
+
enabled: true,
|
|
467053
|
+
duration: 1e3,
|
|
467054
|
+
easing: "ease-out",
|
|
467055
|
+
maxZoom: 16,
|
|
467056
|
+
padding: [50, 50, 50, 50]
|
|
467057
|
+
};
|
|
467058
|
+
this.performLocationAnimation(layer2, config, defaultAnim);
|
|
467059
|
+
}
|
|
467060
|
+
}
|
|
467061
|
+
}
|
|
467062
|
+
} else {
|
|
467063
|
+
handler.setVisible(visible);
|
|
467064
|
+
if (visible) {
|
|
467065
|
+
const layer2 = handler.getLayer();
|
|
467066
|
+
const animCfg = config.locationAnimation;
|
|
467067
|
+
if (animCfg && animCfg.enabled) {
|
|
467068
|
+
this.handleLocationAnimation(layer2, config);
|
|
467069
|
+
} else if (config.fitToExtent) {
|
|
467070
|
+
const defaultAnim = {
|
|
467071
|
+
enabled: true,
|
|
467072
|
+
duration: 1e3,
|
|
467073
|
+
easing: "ease-out",
|
|
467074
|
+
maxZoom: 16,
|
|
467075
|
+
padding: [50, 50, 50, 50]
|
|
467076
|
+
};
|
|
467077
|
+
this.performLocationAnimation(layer2, config, defaultAnim);
|
|
467078
|
+
}
|
|
466760
467079
|
}
|
|
466761
467080
|
}
|
|
467081
|
+
this.saveLayerConfigs();
|
|
466762
467082
|
this.eventBus.emit("layer-visibility-changed", {
|
|
466763
467083
|
layerId,
|
|
466764
467084
|
visible,
|
|
@@ -466810,10 +467130,9 @@ class LayerManager {
|
|
|
466810
467130
|
}
|
|
466811
467131
|
}
|
|
466812
467132
|
if (groupConfig.layers) {
|
|
466813
|
-
const
|
|
466814
|
-
|
|
466815
|
-
|
|
466816
|
-
const result = await this.setLayerVisible(layerId, visible);
|
|
467133
|
+
for (const layerConfig of groupConfig.layers) {
|
|
467134
|
+
if (layerConfig.id) {
|
|
467135
|
+
const result = await this.setLayerVisible(layerConfig.id, visible);
|
|
466817
467136
|
results.push(result);
|
|
466818
467137
|
}
|
|
466819
467138
|
}
|
|
@@ -467065,7 +467384,6 @@ class LayerManager {
|
|
|
467065
467384
|
* 按需加载图层(原loadLayerConfigs的单个图层版本)
|
|
467066
467385
|
*/
|
|
467067
467386
|
async loadLayerOnDemand(layerId) {
|
|
467068
|
-
var _a3;
|
|
467069
467387
|
try {
|
|
467070
467388
|
if (this.layerHandlers.has(layerId)) {
|
|
467071
467389
|
return true;
|
|
@@ -467077,23 +467395,15 @@ class LayerManager {
|
|
|
467077
467395
|
}
|
|
467078
467396
|
const handler = layerFactory.createLayerHandler(config);
|
|
467079
467397
|
handler.setMap(this.map);
|
|
467080
|
-
const
|
|
467081
|
-
|
|
467082
|
-
|
|
467083
|
-
|
|
467084
|
-
|
|
467085
|
-
|
|
467086
|
-
|
|
467087
|
-
|
|
467088
|
-
}
|
|
467089
|
-
this.pendingLayerConfigs.delete(layerId);
|
|
467090
|
-
if ("applyLayerStyles" in handler) {
|
|
467091
|
-
setTimeout(() => {
|
|
467092
|
-
handler.applyLayerStyles();
|
|
467093
|
-
}, 50);
|
|
467398
|
+
const success = await this.addLayerAsync(config, handler);
|
|
467399
|
+
if (success) {
|
|
467400
|
+
this.pendingLayerConfigs.delete(layerId);
|
|
467401
|
+
console.log(`图层 ${layerId} 按需加载完成`);
|
|
467402
|
+
return true;
|
|
467403
|
+
} else {
|
|
467404
|
+
console.error(`按需加载图层 ${layerId} 失败`);
|
|
467405
|
+
return false;
|
|
467094
467406
|
}
|
|
467095
|
-
console.log(`图层 ${layerId} 按需加载完成`);
|
|
467096
|
-
return true;
|
|
467097
467407
|
} catch (error2) {
|
|
467098
467408
|
console.error(`按需加载图层 ${layerId} 失败:`, error2);
|
|
467099
467409
|
return false;
|
|
@@ -467554,8 +467864,8 @@ class FeatureHighlightManager {
|
|
|
467554
467864
|
this.map.removeLayer(this.highlightLayer);
|
|
467555
467865
|
}
|
|
467556
467866
|
}
|
|
467557
|
-
const _hoisted_1$
|
|
467558
|
-
const _sfc_main$
|
|
467867
|
+
const _hoisted_1$q = ["id"];
|
|
467868
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
467559
467869
|
__name: "BasePopup",
|
|
467560
467870
|
props: {
|
|
467561
467871
|
config: {},
|
|
@@ -467673,7 +467983,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
467673
467983
|
}, [
|
|
467674
467984
|
createElementVNode("div", {
|
|
467675
467985
|
id: `popup-slot-${_ctx.id}`
|
|
467676
|
-
}, null, 8, _hoisted_1$
|
|
467986
|
+
}, null, 8, _hoisted_1$q),
|
|
467677
467987
|
renderSlot(_ctx.$slots, "default", {
|
|
467678
467988
|
feature: _ctx.feature,
|
|
467679
467989
|
coordinate: _ctx.coordinate,
|
|
@@ -467688,13 +467998,13 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
467688
467998
|
};
|
|
467689
467999
|
}
|
|
467690
468000
|
});
|
|
467691
|
-
const _hoisted_1$
|
|
467692
|
-
const _hoisted_2$
|
|
468001
|
+
const _hoisted_1$p = { class: "html-popup-content" };
|
|
468002
|
+
const _hoisted_2$n = {
|
|
467693
468003
|
key: 0,
|
|
467694
468004
|
class: "html-popup-title"
|
|
467695
468005
|
};
|
|
467696
|
-
const _hoisted_3$
|
|
467697
|
-
const _sfc_main$
|
|
468006
|
+
const _hoisted_3$m = ["innerHTML"];
|
|
468007
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
467698
468008
|
__name: "HtmlPopup",
|
|
467699
468009
|
props: {
|
|
467700
468010
|
config: {},
|
|
@@ -467742,7 +468052,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
467742
468052
|
return sanitizeHtml(content2);
|
|
467743
468053
|
});
|
|
467744
468054
|
return (_ctx, _cache) => {
|
|
467745
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468055
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
467746
468056
|
config: _ctx.config,
|
|
467747
468057
|
coordinate: _ctx.coordinate,
|
|
467748
468058
|
feature: _ctx.feature,
|
|
@@ -467755,12 +468065,12 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
467755
468065
|
default: withCtx(() => {
|
|
467756
468066
|
var _a3;
|
|
467757
468067
|
return [
|
|
467758
|
-
createElementVNode("div", _hoisted_1$
|
|
467759
|
-
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
468068
|
+
createElementVNode("div", _hoisted_1$p, [
|
|
468069
|
+
((_a3 = _ctx.config.template) == null ? void 0 : _a3.title) ? (openBlock(), createElementBlock("div", _hoisted_2$n, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
467760
468070
|
createElementVNode("div", {
|
|
467761
468071
|
class: "html-popup-body",
|
|
467762
468072
|
innerHTML: resolveContent()
|
|
467763
|
-
}, null, 8, _hoisted_3$
|
|
468073
|
+
}, null, 8, _hoisted_3$m)
|
|
467764
468074
|
])
|
|
467765
468075
|
];
|
|
467766
468076
|
}),
|
|
@@ -467769,17 +468079,17 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
467769
468079
|
};
|
|
467770
468080
|
}
|
|
467771
468081
|
});
|
|
467772
|
-
const _hoisted_1$
|
|
467773
|
-
const _hoisted_2$
|
|
468082
|
+
const _hoisted_1$o = { class: "image-popup-content" };
|
|
468083
|
+
const _hoisted_2$m = {
|
|
467774
468084
|
key: 0,
|
|
467775
468085
|
class: "image-popup-title"
|
|
467776
468086
|
};
|
|
467777
|
-
const _hoisted_3$
|
|
468087
|
+
const _hoisted_3$l = {
|
|
467778
468088
|
key: 1,
|
|
467779
468089
|
class: "image-popup-description"
|
|
467780
468090
|
};
|
|
467781
|
-
const _hoisted_4$
|
|
467782
|
-
const _hoisted_5$
|
|
468091
|
+
const _hoisted_4$l = { class: "image-popup-main" };
|
|
468092
|
+
const _hoisted_5$l = { class: "image-container" };
|
|
467783
468093
|
const _hoisted_6$h = ["src", "alt"];
|
|
467784
468094
|
const _hoisted_7$f = {
|
|
467785
468095
|
key: 0,
|
|
@@ -467809,7 +468119,7 @@ const _hoisted_14$8 = {
|
|
|
467809
468119
|
};
|
|
467810
468120
|
const _hoisted_15$7 = { class: "fullscreen-container" };
|
|
467811
468121
|
const _hoisted_16$7 = ["src", "alt"];
|
|
467812
|
-
const _sfc_main$
|
|
468122
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
467813
468123
|
__name: "ImagePopup",
|
|
467814
468124
|
props: {
|
|
467815
468125
|
config: {},
|
|
@@ -467942,7 +468252,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
467942
468252
|
document.removeEventListener("keydown", handleKeydown);
|
|
467943
468253
|
});
|
|
467944
468254
|
return (_ctx, _cache) => {
|
|
467945
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468255
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
467946
468256
|
config: _ctx.config,
|
|
467947
468257
|
coordinate: _ctx.coordinate,
|
|
467948
468258
|
feature: _ctx.feature,
|
|
@@ -467953,11 +468263,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
467953
468263
|
onHide: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("hide"))
|
|
467954
468264
|
}, {
|
|
467955
468265
|
default: withCtx(() => [
|
|
467956
|
-
createElementVNode("div", _hoisted_1$
|
|
467957
|
-
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
467958
|
-
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
467959
|
-
createElementVNode("div", _hoisted_4$
|
|
467960
|
-
createElementVNode("div", _hoisted_5$
|
|
468266
|
+
createElementVNode("div", _hoisted_1$o, [
|
|
468267
|
+
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$m, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
468268
|
+
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$l, toDisplayString(_ctx.config.description), 1)) : createCommentVNode("", true),
|
|
468269
|
+
createElementVNode("div", _hoisted_4$l, [
|
|
468270
|
+
createElementVNode("div", _hoisted_5$l, [
|
|
467961
468271
|
createElementVNode("img", {
|
|
467962
468272
|
src: currentImage.value,
|
|
467963
468273
|
alt: `图片 ${currentIndex.value + 1}`,
|
|
@@ -468063,20 +468373,20 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
468063
468373
|
};
|
|
468064
468374
|
}
|
|
468065
468375
|
});
|
|
468066
|
-
const _hoisted_1$
|
|
468067
|
-
const _hoisted_2$
|
|
468376
|
+
const _hoisted_1$n = { class: "array-popup-content" };
|
|
468377
|
+
const _hoisted_2$l = {
|
|
468068
468378
|
key: 0,
|
|
468069
468379
|
class: "array-popup-title"
|
|
468070
468380
|
};
|
|
468071
|
-
const _hoisted_3$
|
|
468381
|
+
const _hoisted_3$k = {
|
|
468072
468382
|
key: 1,
|
|
468073
468383
|
class: "array-popup-description"
|
|
468074
468384
|
};
|
|
468075
|
-
const _hoisted_4$
|
|
468385
|
+
const _hoisted_4$k = {
|
|
468076
468386
|
key: 2,
|
|
468077
468387
|
class: "view-switch"
|
|
468078
468388
|
};
|
|
468079
|
-
const _hoisted_5$
|
|
468389
|
+
const _hoisted_5$k = {
|
|
468080
468390
|
key: 3,
|
|
468081
468391
|
class: "search-container"
|
|
468082
468392
|
};
|
|
@@ -468140,7 +468450,7 @@ const _hoisted_43$1 = {
|
|
|
468140
468450
|
class: "empty-data"
|
|
468141
468451
|
};
|
|
468142
468452
|
const _hoisted_44$1 = { class: "empty-text" };
|
|
468143
|
-
const _sfc_main$
|
|
468453
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
468144
468454
|
__name: "ArrayPopup",
|
|
468145
468455
|
props: {
|
|
468146
468456
|
config: {},
|
|
@@ -468286,7 +468596,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468286
468596
|
}
|
|
468287
468597
|
});
|
|
468288
468598
|
return (_ctx, _cache) => {
|
|
468289
|
-
return openBlock(), createBlock(_sfc_main$
|
|
468599
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
468290
468600
|
config: _ctx.config,
|
|
468291
468601
|
coordinate: _ctx.coordinate,
|
|
468292
468602
|
feature: _ctx.feature,
|
|
@@ -468297,10 +468607,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468297
468607
|
onHide: _cache[8] || (_cache[8] = ($event) => _ctx.$emit("hide"))
|
|
468298
468608
|
}, {
|
|
468299
468609
|
default: withCtx(() => [
|
|
468300
|
-
createElementVNode("div", _hoisted_1$
|
|
468301
|
-
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
468302
|
-
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
468303
|
-
_ctx.config.allowViewSwitch ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
468610
|
+
createElementVNode("div", _hoisted_1$n, [
|
|
468611
|
+
_ctx.config.title ? (openBlock(), createElementBlock("div", _hoisted_2$l, toDisplayString(resolveTitle()), 1)) : createCommentVNode("", true),
|
|
468612
|
+
_ctx.config.description ? (openBlock(), createElementBlock("div", _hoisted_3$k, toDisplayString(_ctx.config.description), 1)) : createCommentVNode("", true),
|
|
468613
|
+
_ctx.config.allowViewSwitch ? (openBlock(), createElementBlock("div", _hoisted_4$k, [
|
|
468304
468614
|
createVNode$1(unref(ElButton), {
|
|
468305
468615
|
class: normalizeClass(["view-btn", { active: currentView.value === "table" }]),
|
|
468306
468616
|
onClick: _cache[0] || (_cache[0] = ($event) => setView("table")),
|
|
@@ -468335,7 +468645,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
468335
468645
|
_: 1
|
|
468336
468646
|
}, 8, ["class", "type"])
|
|
468337
468647
|
])) : createCommentVNode("", true),
|
|
468338
|
-
_ctx.config.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
468648
|
+
_ctx.config.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$k, [
|
|
468339
468649
|
createVNode$1(unref(ElInput), {
|
|
468340
468650
|
modelValue: searchQuery.value,
|
|
468341
468651
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => searchQuery.value = $event),
|
|
@@ -468720,7 +469030,7 @@ class PopupManager {
|
|
|
468720
469030
|
let app = null;
|
|
468721
469031
|
switch (type) {
|
|
468722
469032
|
case "html":
|
|
468723
|
-
app = createApp(_sfc_main$
|
|
469033
|
+
app = createApp(_sfc_main$q, {
|
|
468724
469034
|
id: popupId,
|
|
468725
469035
|
config: { ...this.config.defaultConfig, ...config },
|
|
468726
469036
|
coordinate,
|
|
@@ -468730,7 +469040,7 @@ class PopupManager {
|
|
|
468730
469040
|
});
|
|
468731
469041
|
break;
|
|
468732
469042
|
case "image":
|
|
468733
|
-
app = createApp(_sfc_main$
|
|
469043
|
+
app = createApp(_sfc_main$p, {
|
|
468734
469044
|
id: popupId,
|
|
468735
469045
|
config: { ...this.config.defaultConfig, ...config },
|
|
468736
469046
|
coordinate,
|
|
@@ -468740,7 +469050,7 @@ class PopupManager {
|
|
|
468740
469050
|
});
|
|
468741
469051
|
break;
|
|
468742
469052
|
case "array":
|
|
468743
|
-
app = createApp(_sfc_main$
|
|
469053
|
+
app = createApp(_sfc_main$o, {
|
|
468744
469054
|
id: popupId,
|
|
468745
469055
|
config: { ...this.config.defaultConfig, ...config },
|
|
468746
469056
|
coordinate,
|
|
@@ -468756,7 +469066,7 @@ class PopupManager {
|
|
|
468756
469066
|
case "all":
|
|
468757
469067
|
const allConfig = config;
|
|
468758
469068
|
if (allConfig.htmlContent) {
|
|
468759
|
-
app = createApp(_sfc_main$
|
|
469069
|
+
app = createApp(_sfc_main$q, {
|
|
468760
469070
|
id: popupId,
|
|
468761
469071
|
config: {
|
|
468762
469072
|
...allConfig,
|
|
@@ -468768,7 +469078,7 @@ class PopupManager {
|
|
|
468768
469078
|
onClose: () => this.closePopup(popupId)
|
|
468769
469079
|
});
|
|
468770
469080
|
} else if (allConfig.images) {
|
|
468771
|
-
app = createApp(_sfc_main$
|
|
469081
|
+
app = createApp(_sfc_main$p, {
|
|
468772
469082
|
id: popupId,
|
|
468773
469083
|
config: {
|
|
468774
469084
|
...allConfig,
|
|
@@ -468780,7 +469090,7 @@ class PopupManager {
|
|
|
468780
469090
|
onClose: () => this.closePopup(popupId)
|
|
468781
469091
|
});
|
|
468782
469092
|
} else if (allConfig.data) {
|
|
468783
|
-
app = createApp(_sfc_main$
|
|
469093
|
+
app = createApp(_sfc_main$o, {
|
|
468784
469094
|
id: popupId,
|
|
468785
469095
|
config: {
|
|
468786
469096
|
...allConfig,
|
|
@@ -468796,7 +469106,7 @@ class PopupManager {
|
|
|
468796
469106
|
}
|
|
468797
469107
|
});
|
|
468798
469108
|
} else {
|
|
468799
|
-
app = createApp(_sfc_main$
|
|
469109
|
+
app = createApp(_sfc_main$r, {
|
|
468800
469110
|
id: popupId,
|
|
468801
469111
|
config: allConfig,
|
|
468802
469112
|
coordinate,
|
|
@@ -468819,7 +469129,7 @@ class PopupManager {
|
|
|
468819
469129
|
},
|
|
468820
469130
|
render() {
|
|
468821
469131
|
return h$4(
|
|
468822
|
-
_sfc_main$
|
|
469132
|
+
_sfc_main$r,
|
|
468823
469133
|
{ config: this.cfg, coordinate: this.coordinate, feature: this.feature, visible: true, id: popupId, onClose: this.onClose },
|
|
468824
469134
|
{ default: () => h$4(this.CustomComp, { ...this.computedProps, feature: this.feature, coordinate: this.coordinate, config: this.cfg }) }
|
|
468825
469135
|
);
|
|
@@ -469103,7 +469413,11 @@ class MapManager {
|
|
|
469103
469413
|
initMap(targetId) {
|
|
469104
469414
|
var _a3;
|
|
469105
469415
|
const projection2 = this.config.projection || "EPSG:4326";
|
|
469106
|
-
if (
|
|
469416
|
+
if (this.config.projectionDefinition) {
|
|
469417
|
+
proj4$1.defs(projection2, this.config.projectionDefinition);
|
|
469418
|
+
register$3(proj4$1);
|
|
469419
|
+
}
|
|
469420
|
+
if (projection2 === "EPSG:4490" && !this.config.projectionDefinition) {
|
|
469107
469421
|
setupEPSG4490();
|
|
469108
469422
|
}
|
|
469109
469423
|
const center2 = this.config.center || [116.404, 39.915];
|
|
@@ -469816,13 +470130,13 @@ class MapManager {
|
|
|
469816
470130
|
this.map = null;
|
|
469817
470131
|
}
|
|
469818
470132
|
}
|
|
469819
|
-
const _hoisted_1$
|
|
469820
|
-
const _hoisted_2$
|
|
470133
|
+
const _hoisted_1$m = ["id"];
|
|
470134
|
+
const _hoisted_2$k = {
|
|
469821
470135
|
class: "absolute top-0 left-0 w-full h-full z-2000",
|
|
469822
470136
|
"element-loading-text": "地图加载中...",
|
|
469823
470137
|
"element-loading-background": "rgba(0, 0, 0, 0.3)"
|
|
469824
470138
|
};
|
|
469825
|
-
const _sfc_main$
|
|
470139
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
469826
470140
|
__name: "MapContainer",
|
|
469827
470141
|
props: {
|
|
469828
470142
|
config: {},
|
|
@@ -470005,8 +470319,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
470005
470319
|
createElementVNode("div", {
|
|
470006
470320
|
id: mapId.value,
|
|
470007
470321
|
class: "w-full h-full bg-gray-100"
|
|
470008
|
-
}, null, 8, _hoisted_1$
|
|
470009
|
-
withDirectives(createElementVNode("div", _hoisted_2$
|
|
470322
|
+
}, null, 8, _hoisted_1$m),
|
|
470323
|
+
withDirectives(createElementVNode("div", _hoisted_2$k, null, 512), [
|
|
470010
470324
|
[vShow, _ctx.loading],
|
|
470011
470325
|
[_directive_loading, _ctx.loading]
|
|
470012
470326
|
])
|
|
@@ -470014,8 +470328,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
470014
470328
|
};
|
|
470015
470329
|
}
|
|
470016
470330
|
});
|
|
470017
|
-
const _hoisted_1$
|
|
470018
|
-
const _sfc_main$
|
|
470331
|
+
const _hoisted_1$l = ["href"];
|
|
470332
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
470019
470333
|
__name: "index",
|
|
470020
470334
|
props: {
|
|
470021
470335
|
prefix: { default: "icon" },
|
|
@@ -470033,7 +470347,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
470033
470347
|
class: computedClass.value,
|
|
470034
470348
|
"aria-hidden": "true"
|
|
470035
470349
|
}, _ctx.$attrs), [
|
|
470036
|
-
createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$
|
|
470350
|
+
createElementVNode("use", { href: symbolId.value }, null, 8, _hoisted_1$l)
|
|
470037
470351
|
], 16);
|
|
470038
470352
|
};
|
|
470039
470353
|
}
|
|
@@ -470234,14 +470548,14 @@ class DialogCacheManager {
|
|
|
470234
470548
|
}
|
|
470235
470549
|
const dialogCacheManager = new DialogCacheManager();
|
|
470236
470550
|
const dialogCacheManager$1 = dialogCacheManager;
|
|
470237
|
-
const _hoisted_1$
|
|
470238
|
-
const _hoisted_2$
|
|
470239
|
-
const _hoisted_3$
|
|
470240
|
-
const _hoisted_4$
|
|
470551
|
+
const _hoisted_1$k = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
470552
|
+
const _hoisted_2$j = { class: "flex items-center gap-2" };
|
|
470553
|
+
const _hoisted_3$j = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
470554
|
+
const _hoisted_4$j = {
|
|
470241
470555
|
key: 0,
|
|
470242
470556
|
class: "px-5 py-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3"
|
|
470243
470557
|
};
|
|
470244
|
-
const _hoisted_5$
|
|
470558
|
+
const _hoisted_5$j = ["onMousedown"];
|
|
470245
470559
|
const _hoisted_6$f = { class: "text-base font-semibold text-gray-800 flex-1 overflow-hidden text-ellipsis whitespace-nowrap" };
|
|
470246
470560
|
const _hoisted_7$d = { class: "flex items-center gap-2" };
|
|
470247
470561
|
const _hoisted_8$a = { class: "flex-1 overflow-auto min-h-0 h-0" };
|
|
@@ -470253,7 +470567,7 @@ const _hoisted_10$8 = {
|
|
|
470253
470567
|
key: 1,
|
|
470254
470568
|
class: "absolute top-0 left-0 w-full h-full pointer-events-none"
|
|
470255
470569
|
};
|
|
470256
|
-
const _sfc_main$
|
|
470570
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
470257
470571
|
...{
|
|
470258
470572
|
inheritAttrs: false
|
|
470259
470573
|
},
|
|
@@ -470744,12 +471058,12 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470744
471058
|
class: normalizeClass(["flex items-center justify-between px-5 py-4 border-b border-gray-200 bg-gray-50", { "cursor-move": _ctx.draggable && !isFullscreen.value }]),
|
|
470745
471059
|
onMousedown: startDrag
|
|
470746
471060
|
}, [
|
|
470747
|
-
createElementVNode("div", _hoisted_1$
|
|
471061
|
+
createElementVNode("div", _hoisted_1$k, [
|
|
470748
471062
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
470749
471063
|
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
470750
471064
|
])
|
|
470751
471065
|
]),
|
|
470752
|
-
createElementVNode("div", _hoisted_2$
|
|
471066
|
+
createElementVNode("div", _hoisted_2$j, [
|
|
470753
471067
|
_ctx.showFullscreen ? (openBlock(), createBlock(unref(ElButton), {
|
|
470754
471068
|
key: 0,
|
|
470755
471069
|
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",
|
|
@@ -470757,7 +471071,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470757
471071
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
470758
471072
|
}, {
|
|
470759
471073
|
default: withCtx(() => [
|
|
470760
|
-
createVNode$1(_sfc_main$
|
|
471074
|
+
createVNode$1(_sfc_main$m, {
|
|
470761
471075
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
470762
471076
|
}, null, 8, ["name"])
|
|
470763
471077
|
]),
|
|
@@ -470770,16 +471084,16 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470770
471084
|
title: "关闭"
|
|
470771
471085
|
}, {
|
|
470772
471086
|
default: withCtx(() => [
|
|
470773
|
-
createVNode$1(_sfc_main$
|
|
471087
|
+
createVNode$1(_sfc_main$m, { name: "close" })
|
|
470774
471088
|
]),
|
|
470775
471089
|
_: 1
|
|
470776
471090
|
})) : createCommentVNode("", true)
|
|
470777
471091
|
])
|
|
470778
471092
|
], 34),
|
|
470779
|
-
createElementVNode("div", _hoisted_3$
|
|
471093
|
+
createElementVNode("div", _hoisted_3$j, [
|
|
470780
471094
|
renderSlot(_ctx.$slots, "default")
|
|
470781
471095
|
]),
|
|
470782
|
-
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
471096
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_4$j, [
|
|
470783
471097
|
renderSlot(_ctx.$slots, "footer")
|
|
470784
471098
|
])) : createCommentVNode("", true),
|
|
470785
471099
|
_ctx.resizable && !isFullscreen.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(resizeDirections, (direction2) => {
|
|
@@ -470787,7 +471101,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470787
471101
|
key: direction2,
|
|
470788
471102
|
class: normalizeClass(`absolute bg-transparent z-10 pointer-events-auto resize-${direction2}`),
|
|
470789
471103
|
onMousedown: ($event) => startResize($event, direction2)
|
|
470790
|
-
}, null, 42, _hoisted_5$
|
|
471104
|
+
}, null, 42, _hoisted_5$j);
|
|
470791
471105
|
}), 64)) : createCommentVNode("", true)
|
|
470792
471106
|
], 16)
|
|
470793
471107
|
], 6)) : createCommentVNode("", true)
|
|
@@ -470840,7 +471154,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470840
471154
|
title: isFullscreen.value ? "退出全屏" : "全屏"
|
|
470841
471155
|
}, {
|
|
470842
471156
|
default: withCtx(() => [
|
|
470843
|
-
createVNode$1(_sfc_main$
|
|
471157
|
+
createVNode$1(_sfc_main$m, {
|
|
470844
471158
|
name: isFullscreen.value ? "exit-fullscreen" : "fullscreen"
|
|
470845
471159
|
}, null, 8, ["name"])
|
|
470846
471160
|
]),
|
|
@@ -470853,7 +471167,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
470853
471167
|
title: "关闭"
|
|
470854
471168
|
}, {
|
|
470855
471169
|
default: withCtx(() => [
|
|
470856
|
-
createVNode$1(_sfc_main$
|
|
471170
|
+
createVNode$1(_sfc_main$m, { name: "close" })
|
|
470857
471171
|
]),
|
|
470858
471172
|
_: 1
|
|
470859
471173
|
})) : createCommentVNode("", true)
|
|
@@ -470914,13 +471228,13 @@ const tencentImgUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAABACAY
|
|
|
470914
471228
|
const tencentVecUrl = "data:image/png;base64,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";
|
|
470915
471229
|
const osmUrl = "data:image/png;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iI2YyZjJmMiIvPgogIDxyZWN0IHg9IjEwIiB5PSIxMCIgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiNjY2NjY2MiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0yMCAzMCBMNDAgMjAgTDYwIDM1IEw4MCAyNSBMODAgNzAgTDYwIDc1IEw0MCA2MCBMMjAgNzAgWiIgZmlsbD0iIzdkZDNjMCIgc3Ryb2tlPSIjNWNiM2EwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8Y2lyY2xlIGN4PSIzNSIgY3k9IjQ1IiByPSIzIiBmaWxsPSIjZmY2YjZiIi8+CiAgPGNpcmNsZSBjeD0iNTUiIGN5PSIzNSIgcj0iMiIgZmlsbD0iIzRlY2RjNCIvPgogIDxjaXJjbGUgY3g9IjY1IiBjeT0iNTUiIHI9IjIiIGZpbGw9IiM0NWI3ZDEiLz4KICA8dGV4dCB4PSI1MCIgeT0iOTAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJBcmlhbCwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMCIgZmlsbD0iIzY2NiI+T1NNPC90ZXh0Pgo8L3N2Zz4=";
|
|
470916
471230
|
const customBlueUrl = "data:image/png;base64,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";
|
|
470917
|
-
const _hoisted_1$
|
|
470918
|
-
const _hoisted_2$
|
|
470919
|
-
const _hoisted_3$
|
|
470920
|
-
const _hoisted_4$
|
|
470921
|
-
const _hoisted_5$
|
|
471231
|
+
const _hoisted_1$j = { class: "basemap-content" };
|
|
471232
|
+
const _hoisted_2$i = { class: "basemap-grid" };
|
|
471233
|
+
const _hoisted_3$i = ["onClick"];
|
|
471234
|
+
const _hoisted_4$i = { class: "basemap-preview" };
|
|
471235
|
+
const _hoisted_5$i = ["src", "alt"];
|
|
470922
471236
|
const _hoisted_6$e = { class: "basemap-name" };
|
|
470923
|
-
const _sfc_main$
|
|
471237
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
470924
471238
|
__name: "BasemapPanel",
|
|
470925
471239
|
props: {
|
|
470926
471240
|
modelValue: { type: Boolean }
|
|
@@ -471135,7 +471449,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
471135
471449
|
}
|
|
471136
471450
|
};
|
|
471137
471451
|
return (_ctx, _cache) => {
|
|
471138
|
-
return openBlock(), createBlock(_sfc_main$
|
|
471452
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
471139
471453
|
modelValue: visible.value,
|
|
471140
471454
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
|
|
471141
471455
|
title: "底图选择",
|
|
@@ -471151,23 +471465,23 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
471151
471465
|
onClose: handleClose
|
|
471152
471466
|
}, {
|
|
471153
471467
|
default: withCtx(() => [
|
|
471154
|
-
createElementVNode("div", _hoisted_1$
|
|
471155
|
-
createElementVNode("div", _hoisted_2$
|
|
471468
|
+
createElementVNode("div", _hoisted_1$j, [
|
|
471469
|
+
createElementVNode("div", _hoisted_2$i, [
|
|
471156
471470
|
(openBlock(true), createElementBlock(Fragment, null, renderList(displayBasemaps.value, (basemap) => {
|
|
471157
471471
|
return openBlock(), createElementBlock("div", {
|
|
471158
471472
|
key: basemap.id,
|
|
471159
471473
|
class: normalizeClass(["basemap-item", { active: selectedBasemap.value === basemap.id }]),
|
|
471160
471474
|
onClick: ($event) => selectBasemap(basemap)
|
|
471161
471475
|
}, [
|
|
471162
|
-
createElementVNode("div", _hoisted_4$
|
|
471476
|
+
createElementVNode("div", _hoisted_4$i, [
|
|
471163
471477
|
createElementVNode("img", {
|
|
471164
471478
|
src: basemap.thumbnail,
|
|
471165
471479
|
alt: basemap.name,
|
|
471166
471480
|
loading: "lazy"
|
|
471167
|
-
}, null, 8, _hoisted_5$
|
|
471481
|
+
}, null, 8, _hoisted_5$i)
|
|
471168
471482
|
]),
|
|
471169
471483
|
createElementVNode("div", _hoisted_6$e, toDisplayString(basemap.name), 1)
|
|
471170
|
-
], 10, _hoisted_3$
|
|
471484
|
+
], 10, _hoisted_3$i);
|
|
471171
471485
|
}), 128))
|
|
471172
471486
|
])
|
|
471173
471487
|
])
|
|
@@ -471508,15 +471822,15 @@ class OverviewMapUtil {
|
|
|
471508
471822
|
function createOverviewMapUtil() {
|
|
471509
471823
|
return new OverviewMapUtil();
|
|
471510
471824
|
}
|
|
471511
|
-
const _hoisted_1$
|
|
471512
|
-
const _hoisted_2$
|
|
471513
|
-
const _hoisted_3$
|
|
471514
|
-
const _hoisted_4$
|
|
471515
|
-
const _hoisted_5$
|
|
471825
|
+
const _hoisted_1$i = { class: "measurement-content h-full flex flex-col" };
|
|
471826
|
+
const _hoisted_2$h = { class: "measurement-header flex justify-between items-center px-6 py-4" };
|
|
471827
|
+
const _hoisted_3$h = { class: "measurement-result py-8 text-center" };
|
|
471828
|
+
const _hoisted_4$h = { class: "result-value" };
|
|
471829
|
+
const _hoisted_5$h = { class: "tool-grid flex-1 py-5" };
|
|
471516
471830
|
const _hoisted_6$d = ["onClick"];
|
|
471517
471831
|
const _hoisted_7$c = ["src", "alt"];
|
|
471518
471832
|
const _hoisted_8$9 = { class: "tool-label" };
|
|
471519
|
-
const _sfc_main$
|
|
471833
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
471520
471834
|
__name: "MeasurementDialog",
|
|
471521
471835
|
props: {
|
|
471522
471836
|
modelValue: { type: Boolean }
|
|
@@ -471748,7 +472062,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
471748
472062
|
const _component_el_option_group = resolveComponent("el-option-group");
|
|
471749
472063
|
const _component_el_select = resolveComponent("el-select");
|
|
471750
472064
|
const _component_el_button = resolveComponent("el-button");
|
|
471751
|
-
return openBlock(), createBlock(_sfc_main$
|
|
472065
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
471752
472066
|
modelValue: dialogVisible.value,
|
|
471753
472067
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
471754
472068
|
title: "图上量算",
|
|
@@ -471758,8 +472072,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
471758
472072
|
cacheId: "measurement-dialog"
|
|
471759
472073
|
}, {
|
|
471760
472074
|
default: withCtx(() => [
|
|
471761
|
-
createElementVNode("div", _hoisted_1$
|
|
471762
|
-
createElementVNode("div", _hoisted_2$
|
|
472075
|
+
createElementVNode("div", _hoisted_1$i, [
|
|
472076
|
+
createElementVNode("div", _hoisted_2$h, [
|
|
471763
472077
|
createVNode$1(_component_el_select, {
|
|
471764
472078
|
modelValue: selectedUnit.value,
|
|
471765
472079
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedUnit.value = $event),
|
|
@@ -471827,10 +472141,10 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
471827
472141
|
_: 1
|
|
471828
472142
|
})
|
|
471829
472143
|
]),
|
|
471830
|
-
createElementVNode("div", _hoisted_3$
|
|
471831
|
-
createElementVNode("div", _hoisted_4$
|
|
472144
|
+
createElementVNode("div", _hoisted_3$h, [
|
|
472145
|
+
createElementVNode("div", _hoisted_4$h, toDisplayString(getDisplayValue()), 1)
|
|
471832
472146
|
]),
|
|
471833
|
-
createElementVNode("div", _hoisted_5$
|
|
472147
|
+
createElementVNode("div", _hoisted_5$h, [
|
|
471834
472148
|
(openBlock(), createElementBlock(Fragment, null, renderList(measurementTools, (tool) => {
|
|
471835
472149
|
return createElementVNode("div", {
|
|
471836
472150
|
key: tool.type,
|
|
@@ -471860,13 +472174,13 @@ const _export_sfc = (sfc, props) => {
|
|
|
471860
472174
|
}
|
|
471861
472175
|
return target;
|
|
471862
472176
|
};
|
|
471863
|
-
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
471864
|
-
const _hoisted_1$
|
|
471865
|
-
const _hoisted_2$
|
|
471866
|
-
const _hoisted_3$
|
|
471867
|
-
const _hoisted_4$
|
|
471868
|
-
const _hoisted_5$
|
|
471869
|
-
const _sfc_main$
|
|
472177
|
+
const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-d868b567"]]);
|
|
472178
|
+
const _hoisted_1$h = { class: "coordinate-content" };
|
|
472179
|
+
const _hoisted_2$g = { class: "format-selection" };
|
|
472180
|
+
const _hoisted_3$g = { class: "format-options" };
|
|
472181
|
+
const _hoisted_4$g = { class: "coordinate-input" };
|
|
472182
|
+
const _hoisted_5$g = { class: "dialog-footer" };
|
|
472183
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
471870
472184
|
__name: "CoordinateLocationDialog",
|
|
471871
472185
|
props: {
|
|
471872
472186
|
modelValue: { type: Boolean }
|
|
@@ -472016,7 +472330,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472016
472330
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
472017
472331
|
const _component_el_form = resolveComponent("el-form");
|
|
472018
472332
|
const _component_el_button = resolveComponent("el-button");
|
|
472019
|
-
return openBlock(), createBlock(_sfc_main$
|
|
472333
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
472020
472334
|
modelValue: dialogVisible.value,
|
|
472021
472335
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
|
|
472022
472336
|
title: "坐标拾取",
|
|
@@ -472027,7 +472341,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472027
472341
|
class: "coordinate-dialog"
|
|
472028
472342
|
}, {
|
|
472029
472343
|
footer: withCtx(() => [
|
|
472030
|
-
createElementVNode("div", _hoisted_5$
|
|
472344
|
+
createElementVNode("div", _hoisted_5$g, [
|
|
472031
472345
|
createVNode$1(_component_el_button, {
|
|
472032
472346
|
type: "primary",
|
|
472033
472347
|
onClick: getCurrentLocation
|
|
@@ -472049,10 +472363,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472049
472363
|
])
|
|
472050
472364
|
]),
|
|
472051
472365
|
default: withCtx(() => [
|
|
472052
|
-
createElementVNode("div", _hoisted_1$
|
|
472053
|
-
createElementVNode("div", _hoisted_2$
|
|
472366
|
+
createElementVNode("div", _hoisted_1$h, [
|
|
472367
|
+
createElementVNode("div", _hoisted_2$g, [
|
|
472054
472368
|
_cache[6] || (_cache[6] = createElementVNode("div", { class: "format-title" }, "坐标格式", -1)),
|
|
472055
|
-
createElementVNode("div", _hoisted_3$
|
|
472369
|
+
createElementVNode("div", _hoisted_3$g, [
|
|
472056
472370
|
createVNode$1(_component_el_radio_group, {
|
|
472057
472371
|
modelValue: selectedFormat.value,
|
|
472058
472372
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedFormat.value = $event),
|
|
@@ -472076,7 +472390,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472076
472390
|
}, 8, ["modelValue"])
|
|
472077
472391
|
])
|
|
472078
472392
|
]),
|
|
472079
|
-
createElementVNode("div", _hoisted_4$
|
|
472393
|
+
createElementVNode("div", _hoisted_4$g, [
|
|
472080
472394
|
createVNode$1(_component_el_form, {
|
|
472081
472395
|
model: coordinateForm,
|
|
472082
472396
|
"label-width": "60px"
|
|
@@ -472117,14 +472431,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
472117
472431
|
};
|
|
472118
472432
|
}
|
|
472119
472433
|
});
|
|
472120
|
-
const _hoisted_1$
|
|
472121
|
-
const _hoisted_2$
|
|
472434
|
+
const _hoisted_1$g = { class: "region-content" };
|
|
472435
|
+
const _hoisted_2$f = {
|
|
472122
472436
|
key: 0,
|
|
472123
472437
|
class: "region-categories"
|
|
472124
472438
|
};
|
|
472125
|
-
const _hoisted_3$
|
|
472126
|
-
const _hoisted_4$
|
|
472127
|
-
const _hoisted_5$
|
|
472439
|
+
const _hoisted_3$f = { class: "region-group" };
|
|
472440
|
+
const _hoisted_4$f = { class: "region-items" };
|
|
472441
|
+
const _hoisted_5$f = { class: "region-group" };
|
|
472128
472442
|
const _hoisted_6$c = { class: "region-items" };
|
|
472129
472443
|
const _hoisted_7$b = { class: "region-group" };
|
|
472130
472444
|
const _hoisted_8$8 = { class: "region-items" };
|
|
@@ -472143,7 +472457,7 @@ const _hoisted_19$4 = {
|
|
|
472143
472457
|
class: "sub-regions"
|
|
472144
472458
|
};
|
|
472145
472459
|
const _hoisted_20$4 = { class: "district-grid" };
|
|
472146
|
-
const _sfc_main$
|
|
472460
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
472147
472461
|
__name: "RegionNavigationDialog",
|
|
472148
472462
|
props: {
|
|
472149
472463
|
modelValue: { type: Boolean }
|
|
@@ -473228,7 +473542,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473228
473542
|
const _component_el_button = resolveComponent("el-button");
|
|
473229
473543
|
const _component_el_tab_pane = resolveComponent("el-tab-pane");
|
|
473230
473544
|
const _component_el_tabs = resolveComponent("el-tabs");
|
|
473231
|
-
return openBlock(), createBlock(_sfc_main$
|
|
473545
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
473232
473546
|
modelValue: dialogVisible.value,
|
|
473233
473547
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
|
|
473234
473548
|
title: "地区导航",
|
|
@@ -473239,7 +473553,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473239
473553
|
class: "region-dialog"
|
|
473240
473554
|
}, {
|
|
473241
473555
|
default: withCtx(() => [
|
|
473242
|
-
createElementVNode("div", _hoisted_1$
|
|
473556
|
+
createElementVNode("div", _hoisted_1$g, [
|
|
473243
473557
|
createVNode$1(_component_el_tabs, {
|
|
473244
473558
|
modelValue: activeTab.value,
|
|
473245
473559
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
@@ -473257,10 +473571,10 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473257
473571
|
closable: index2 > 0
|
|
473258
473572
|
}, {
|
|
473259
473573
|
default: withCtx(() => [
|
|
473260
|
-
tab.name === "china" ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
473261
|
-
createElementVNode("div", _hoisted_3$
|
|
473574
|
+
tab.name === "china" ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
|
|
473575
|
+
createElementVNode("div", _hoisted_3$f, [
|
|
473262
473576
|
_cache[2] || (_cache[2] = createElementVNode("div", { class: "group-title" }, "华北", -1)),
|
|
473263
|
-
createElementVNode("div", _hoisted_4$
|
|
473577
|
+
createElementVNode("div", _hoisted_4$f, [
|
|
473264
473578
|
(openBlock(true), createElementBlock(Fragment, null, renderList(regions.north, (region) => {
|
|
473265
473579
|
return openBlock(), createBlock(_component_el_button, {
|
|
473266
473580
|
key: region.code,
|
|
@@ -473276,7 +473590,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473276
473590
|
}), 128))
|
|
473277
473591
|
])
|
|
473278
473592
|
]),
|
|
473279
|
-
createElementVNode("div", _hoisted_5$
|
|
473593
|
+
createElementVNode("div", _hoisted_5$f, [
|
|
473280
473594
|
_cache[3] || (_cache[3] = createElementVNode("div", { class: "group-title" }, "东北", -1)),
|
|
473281
473595
|
createElementVNode("div", _hoisted_6$c, [
|
|
473282
473596
|
(openBlock(true), createElementBlock(Fragment, null, renderList(regions.northeast, (region) => {
|
|
@@ -473432,12 +473746,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
473432
473746
|
};
|
|
473433
473747
|
}
|
|
473434
473748
|
});
|
|
473435
|
-
const _hoisted_1$
|
|
473436
|
-
const _hoisted_2$
|
|
473437
|
-
const _hoisted_3$
|
|
473438
|
-
const _hoisted_4$
|
|
473439
|
-
const _hoisted_5$
|
|
473440
|
-
const _sfc_main$
|
|
473749
|
+
const _hoisted_1$f = { class: "markers-content" };
|
|
473750
|
+
const _hoisted_2$e = { class: "toolbar" };
|
|
473751
|
+
const _hoisted_3$e = { class: "search-filter" };
|
|
473752
|
+
const _hoisted_4$e = { class: "markers-list" };
|
|
473753
|
+
const _hoisted_5$e = { class: "marker-name" };
|
|
473754
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
473441
473755
|
__name: "MyMarkersDialog",
|
|
473442
473756
|
props: {
|
|
473443
473757
|
modelValue: { type: Boolean }
|
|
@@ -473763,7 +474077,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473763
474077
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
473764
474078
|
const _component_el_form = resolveComponent("el-form");
|
|
473765
474079
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
473766
|
-
createVNode$1(_sfc_main$
|
|
474080
|
+
createVNode$1(_sfc_main$l, {
|
|
473767
474081
|
modelValue: dialogVisible.value,
|
|
473768
474082
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
|
|
473769
474083
|
title: "我的标记",
|
|
@@ -473774,8 +474088,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473774
474088
|
class: "markers-dialog"
|
|
473775
474089
|
}, {
|
|
473776
474090
|
default: withCtx(() => [
|
|
473777
|
-
createElementVNode("div", _hoisted_1$
|
|
473778
|
-
createElementVNode("div", _hoisted_2$
|
|
474091
|
+
createElementVNode("div", _hoisted_1$f, [
|
|
474092
|
+
createElementVNode("div", _hoisted_2$e, [
|
|
473779
474093
|
createVNode$1(_component_el_button, {
|
|
473780
474094
|
type: "primary",
|
|
473781
474095
|
icon: unref(plus_default),
|
|
@@ -473816,7 +474130,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473816
474130
|
_: 1
|
|
473817
474131
|
}, 8, ["icon", "disabled"])
|
|
473818
474132
|
]),
|
|
473819
|
-
createElementVNode("div", _hoisted_3$
|
|
474133
|
+
createElementVNode("div", _hoisted_3$e, [
|
|
473820
474134
|
createVNode$1(_component_el_input, {
|
|
473821
474135
|
modelValue: searchKeyword.value,
|
|
473822
474136
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -473849,7 +474163,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473849
474163
|
_: 1
|
|
473850
474164
|
}, 8, ["modelValue"])
|
|
473851
474165
|
]),
|
|
473852
|
-
createElementVNode("div", _hoisted_4$
|
|
474166
|
+
createElementVNode("div", _hoisted_4$e, [
|
|
473853
474167
|
createVNode$1(_component_el_table, {
|
|
473854
474168
|
data: filteredMarkers.value,
|
|
473855
474169
|
height: "300",
|
|
@@ -473863,7 +474177,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473863
474177
|
width: "120"
|
|
473864
474178
|
}, {
|
|
473865
474179
|
default: withCtx(({ row }) => [
|
|
473866
|
-
createElementVNode("div", _hoisted_5$
|
|
474180
|
+
createElementVNode("div", _hoisted_5$e, [
|
|
473867
474181
|
createVNode$1(_component_el_icon, {
|
|
473868
474182
|
color: row.color,
|
|
473869
474183
|
size: "16"
|
|
@@ -473937,7 +474251,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
473937
474251
|
]),
|
|
473938
474252
|
_: 1
|
|
473939
474253
|
}, 8, ["modelValue"]),
|
|
473940
|
-
createVNode$1(_sfc_main$
|
|
474254
|
+
createVNode$1(_sfc_main$l, {
|
|
473941
474255
|
modelValue: showAddDialog.value,
|
|
473942
474256
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showAddDialog.value = $event),
|
|
473943
474257
|
title: "添加标记",
|
|
@@ -474008,11 +474322,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
474008
474322
|
};
|
|
474009
474323
|
}
|
|
474010
474324
|
});
|
|
474011
|
-
const _hoisted_1$
|
|
474012
|
-
const _hoisted_2$
|
|
474013
|
-
const _hoisted_3$
|
|
474014
|
-
const _hoisted_4$
|
|
474015
|
-
const _hoisted_5$
|
|
474325
|
+
const _hoisted_1$e = { class: "bookmarks-content" };
|
|
474326
|
+
const _hoisted_2$d = { class: "toolbar" };
|
|
474327
|
+
const _hoisted_3$d = { class: "search-filter" };
|
|
474328
|
+
const _hoisted_4$d = { class: "bookmarks-grid" };
|
|
474329
|
+
const _hoisted_5$d = ["onClick"];
|
|
474016
474330
|
const _hoisted_6$b = { class: "bookmark-thumbnail" };
|
|
474017
474331
|
const _hoisted_7$a = { class: "thumbnail-placeholder" };
|
|
474018
474332
|
const _hoisted_8$7 = { class: "bookmark-overlay" };
|
|
@@ -474034,7 +474348,7 @@ const _hoisted_19$3 = {
|
|
|
474034
474348
|
class: "statistics"
|
|
474035
474349
|
};
|
|
474036
474350
|
const _hoisted_20$3 = { class: "dialog-footer" };
|
|
474037
|
-
const _sfc_main$
|
|
474351
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
474038
474352
|
__name: "ViewBookmarksDialog",
|
|
474039
474353
|
props: {
|
|
474040
474354
|
modelValue: { type: Boolean }
|
|
@@ -474293,7 +474607,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474293
474607
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
474294
474608
|
const _component_el_slider = resolveComponent("el-slider");
|
|
474295
474609
|
const _component_el_form = resolveComponent("el-form");
|
|
474296
|
-
return openBlock(), createBlock(_sfc_main$
|
|
474610
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
474297
474611
|
modelValue: dialogVisible.value,
|
|
474298
474612
|
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
|
|
474299
474613
|
title: "视角书签",
|
|
@@ -474314,8 +474628,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474314
474628
|
])
|
|
474315
474629
|
]),
|
|
474316
474630
|
default: withCtx(() => [
|
|
474317
|
-
createElementVNode("div", _hoisted_1$
|
|
474318
|
-
createElementVNode("div", _hoisted_2$
|
|
474631
|
+
createElementVNode("div", _hoisted_1$e, [
|
|
474632
|
+
createElementVNode("div", _hoisted_2$d, [
|
|
474319
474633
|
createVNode$1(_component_el_button, {
|
|
474320
474634
|
type: "primary",
|
|
474321
474635
|
icon: unref(plus_default),
|
|
@@ -474355,7 +474669,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474355
474669
|
_: 1
|
|
474356
474670
|
}, 8, ["icon", "disabled"])
|
|
474357
474671
|
]),
|
|
474358
|
-
createElementVNode("div", _hoisted_3$
|
|
474672
|
+
createElementVNode("div", _hoisted_3$d, [
|
|
474359
474673
|
createVNode$1(_component_el_input, {
|
|
474360
474674
|
modelValue: searchKeyword.value,
|
|
474361
474675
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
|
|
@@ -474410,7 +474724,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474410
474724
|
_: 1
|
|
474411
474725
|
}, 8, ["modelValue"])
|
|
474412
474726
|
]),
|
|
474413
|
-
createElementVNode("div", _hoisted_4$
|
|
474727
|
+
createElementVNode("div", _hoisted_4$d, [
|
|
474414
474728
|
(openBlock(true), createElementBlock(Fragment, null, renderList(filteredBookmarks.value, (bookmark, index2) => {
|
|
474415
474729
|
return openBlock(), createElementBlock("div", {
|
|
474416
474730
|
key: bookmark.id,
|
|
@@ -474506,7 +474820,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474506
474820
|
]),
|
|
474507
474821
|
createElementVNode("div", _hoisted_17$4, toDisplayString(formatTime(bookmark.createTime)), 1)
|
|
474508
474822
|
])
|
|
474509
|
-
], 8, _hoisted_5$
|
|
474823
|
+
], 8, _hoisted_5$d);
|
|
474510
474824
|
}), 128))
|
|
474511
474825
|
]),
|
|
474512
474826
|
filteredBookmarks.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_18$4, [
|
|
@@ -474569,7 +474883,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474569
474883
|
})
|
|
474570
474884
|
])) : createCommentVNode("", true)
|
|
474571
474885
|
]),
|
|
474572
|
-
createVNode$1(_sfc_main$
|
|
474886
|
+
createVNode$1(_sfc_main$l, {
|
|
474573
474887
|
modelValue: showBookmarkForm.value,
|
|
474574
474888
|
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
|
|
474575
474889
|
title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
|
|
@@ -474723,11 +475037,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
474723
475037
|
};
|
|
474724
475038
|
}
|
|
474725
475039
|
});
|
|
474726
|
-
const _hoisted_1$
|
|
474727
|
-
const _hoisted_2$
|
|
474728
|
-
const _hoisted_3$
|
|
474729
|
-
const _hoisted_4$
|
|
474730
|
-
const _hoisted_5$
|
|
475040
|
+
const _hoisted_1$d = { class: "py-2.5" };
|
|
475041
|
+
const _hoisted_2$c = { class: "h-150 overflow-y-auto" };
|
|
475042
|
+
const _hoisted_3$c = { class: "flex items-center justify-between" };
|
|
475043
|
+
const _hoisted_4$c = { class: "mb-5" };
|
|
475044
|
+
const _hoisted_5$c = { class: "mb-3" };
|
|
474731
475045
|
const _hoisted_6$a = {
|
|
474732
475046
|
key: 0,
|
|
474733
475047
|
class: "mb-3"
|
|
@@ -474812,7 +475126,7 @@ const _hoisted_44 = {
|
|
|
474812
475126
|
const _hoisted_45 = { key: 0 };
|
|
474813
475127
|
const _hoisted_46 = { key: 0 };
|
|
474814
475128
|
const _hoisted_47 = { class: "text-right" };
|
|
474815
|
-
const _sfc_main$
|
|
475129
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
474816
475130
|
__name: "MapPrintDialog",
|
|
474817
475131
|
props: {
|
|
474818
475132
|
modelValue: { type: Boolean },
|
|
@@ -475191,7 +475505,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475191
475505
|
const _component_el_col = resolveComponent("el-col");
|
|
475192
475506
|
const _component_el_button_group = resolveComponent("el-button-group");
|
|
475193
475507
|
const _component_el_row = resolveComponent("el-row");
|
|
475194
|
-
return openBlock(), createBlock(_sfc_main$
|
|
475508
|
+
return openBlock(), createBlock(_sfc_main$l, {
|
|
475195
475509
|
modelValue: dialogVisible.value,
|
|
475196
475510
|
"onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => dialogVisible.value = $event),
|
|
475197
475511
|
title: "地图打印",
|
|
@@ -475229,15 +475543,15 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475229
475543
|
])
|
|
475230
475544
|
]),
|
|
475231
475545
|
default: withCtx(() => [
|
|
475232
|
-
createElementVNode("div", _hoisted_1$
|
|
475546
|
+
createElementVNode("div", _hoisted_1$d, [
|
|
475233
475547
|
createVNode$1(_component_el_row, { gutter: 20 }, {
|
|
475234
475548
|
default: withCtx(() => [
|
|
475235
475549
|
createVNode$1(_component_el_col, { span: 8 }, {
|
|
475236
475550
|
default: withCtx(() => [
|
|
475237
|
-
createElementVNode("div", _hoisted_2$
|
|
475551
|
+
createElementVNode("div", _hoisted_2$c, [
|
|
475238
475552
|
createVNode$1(_component_el_card, { shadow: "hover" }, {
|
|
475239
475553
|
header: withCtx(() => [
|
|
475240
|
-
createElementVNode("div", _hoisted_3$
|
|
475554
|
+
createElementVNode("div", _hoisted_3$c, [
|
|
475241
475555
|
_cache[18] || (_cache[18] = createElementVNode("span", null, "打印设置", -1)),
|
|
475242
475556
|
createVNode$1(_component_el_button, {
|
|
475243
475557
|
type: "text",
|
|
@@ -475257,9 +475571,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475257
475571
|
])
|
|
475258
475572
|
]),
|
|
475259
475573
|
default: withCtx(() => [
|
|
475260
|
-
createElementVNode("div", _hoisted_4$
|
|
475574
|
+
createElementVNode("div", _hoisted_4$c, [
|
|
475261
475575
|
_cache[21] || (_cache[21] = createElementVNode("label", { class: "block text-sm font-medium text-gray-700 mb-2" }, "纸张设置", -1)),
|
|
475262
|
-
createElementVNode("div", _hoisted_5$
|
|
475576
|
+
createElementVNode("div", _hoisted_5$c, [
|
|
475263
475577
|
createVNode$1(_component_el_select, {
|
|
475264
475578
|
modelValue: printSettings.paperSize,
|
|
475265
475579
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => printSettings.paperSize = $event),
|
|
@@ -475798,17 +476112,17 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
475798
476112
|
};
|
|
475799
476113
|
}
|
|
475800
476114
|
});
|
|
475801
|
-
const _hoisted_1$
|
|
475802
|
-
const _hoisted_2$
|
|
475803
|
-
const _hoisted_3$
|
|
475804
|
-
const _hoisted_4$
|
|
475805
|
-
const _hoisted_5$
|
|
476115
|
+
const _hoisted_1$c = { class: "mark-tab-container" };
|
|
476116
|
+
const _hoisted_2$b = { class: "continuous-switch" };
|
|
476117
|
+
const _hoisted_3$b = { class: "tools-grid" };
|
|
476118
|
+
const _hoisted_4$b = ["onClick"];
|
|
476119
|
+
const _hoisted_5$b = ["src"];
|
|
475806
476120
|
const _hoisted_6$9 = { class: "tool-label" };
|
|
475807
476121
|
const _hoisted_7$8 = {
|
|
475808
476122
|
key: 0,
|
|
475809
476123
|
class: "stop-drawing-section"
|
|
475810
476124
|
};
|
|
475811
|
-
const _sfc_main$
|
|
476125
|
+
const _sfc_main$d = {
|
|
475812
476126
|
__name: "MarkTab",
|
|
475813
476127
|
setup(__props) {
|
|
475814
476128
|
const mapRef = inject("map");
|
|
@@ -476331,7 +476645,7 @@ const _sfc_main$c = {
|
|
|
476331
476645
|
const _component_el_select = resolveComponent("el-select");
|
|
476332
476646
|
const _component_el_switch = resolveComponent("el-switch");
|
|
476333
476647
|
const _component_el_button = resolveComponent("el-button");
|
|
476334
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
476648
|
+
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
476335
476649
|
createVNode$1(_component_el_select, {
|
|
476336
476650
|
modelValue: selectedType.value,
|
|
476337
476651
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedType.value = $event),
|
|
@@ -476349,7 +476663,7 @@ const _sfc_main$c = {
|
|
|
476349
476663
|
]),
|
|
476350
476664
|
_: 1
|
|
476351
476665
|
}, 8, ["modelValue"]),
|
|
476352
|
-
createElementVNode("div", _hoisted_2$
|
|
476666
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
476353
476667
|
_cache[2] || (_cache[2] = createElementVNode("span", { class: "switch-label" }, "连续标绘模式", -1)),
|
|
476354
476668
|
createVNode$1(_component_el_switch, {
|
|
476355
476669
|
modelValue: continuousDrawing.value,
|
|
@@ -476357,7 +476671,7 @@ const _sfc_main$c = {
|
|
|
476357
476671
|
size: "small"
|
|
476358
476672
|
}, null, 8, ["modelValue"])
|
|
476359
476673
|
]),
|
|
476360
|
-
createElementVNode("div", _hoisted_3$
|
|
476674
|
+
createElementVNode("div", _hoisted_3$b, [
|
|
476361
476675
|
(openBlock(true), createElementBlock(Fragment, null, renderList(currentTools.value, (tool, idx) => {
|
|
476362
476676
|
return openBlock(), createElementBlock("div", {
|
|
476363
476677
|
key: idx,
|
|
@@ -476369,12 +476683,12 @@ const _sfc_main$c = {
|
|
|
476369
476683
|
src: tool.icon,
|
|
476370
476684
|
class: "tool-image",
|
|
476371
476685
|
alt: "tool icon"
|
|
476372
|
-
}, null, 8, _hoisted_5$
|
|
476686
|
+
}, null, 8, _hoisted_5$b)) : (openBlock(), createElementBlock("i", {
|
|
476373
476687
|
key: 1,
|
|
476374
476688
|
class: normalizeClass([tool.icon, "tool-icon-large"])
|
|
476375
476689
|
}, null, 2)),
|
|
476376
476690
|
createElementVNode("span", _hoisted_6$9, toDisplayString(tool.label), 1)
|
|
476377
|
-
], 8, _hoisted_4$
|
|
476691
|
+
], 8, _hoisted_4$b);
|
|
476378
476692
|
}), 128))
|
|
476379
476693
|
]),
|
|
476380
476694
|
activeDrawingTool.value && continuousDrawing.value ? (openBlock(), createElementBlock("div", _hoisted_7$8, [
|
|
@@ -476394,18 +476708,18 @@ const _sfc_main$c = {
|
|
|
476394
476708
|
};
|
|
476395
476709
|
}
|
|
476396
476710
|
};
|
|
476397
|
-
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476398
|
-
const _hoisted_1$
|
|
476399
|
-
const _hoisted_2$
|
|
476400
|
-
const _hoisted_3$
|
|
476401
|
-
const _hoisted_4$
|
|
476402
|
-
const _hoisted_5$
|
|
476711
|
+
const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-127b85ab"]]);
|
|
476712
|
+
const _hoisted_1$b = { class: "list-tab-container" };
|
|
476713
|
+
const _hoisted_2$a = { class: "toolbar" };
|
|
476714
|
+
const _hoisted_3$a = { class: "toolbar-left" };
|
|
476715
|
+
const _hoisted_4$a = { class: "data-count" };
|
|
476716
|
+
const _hoisted_5$a = { class: "list-content" };
|
|
476403
476717
|
const _hoisted_6$8 = { class: "tree-node" };
|
|
476404
476718
|
const _hoisted_7$7 = {
|
|
476405
476719
|
key: 1,
|
|
476406
476720
|
class: "empty-state"
|
|
476407
476721
|
};
|
|
476408
|
-
const _sfc_main$
|
|
476722
|
+
const _sfc_main$c = {
|
|
476409
476723
|
__name: "ListTab",
|
|
476410
476724
|
setup(__props) {
|
|
476411
476725
|
const groups = ref([
|
|
@@ -476426,9 +476740,9 @@ const _sfc_main$b = {
|
|
|
476426
476740
|
return (_ctx, _cache) => {
|
|
476427
476741
|
const _component_el_button = resolveComponent("el-button");
|
|
476428
476742
|
const _component_el_tree = resolveComponent("el-tree");
|
|
476429
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
476430
|
-
createElementVNode("div", _hoisted_2$
|
|
476431
|
-
createElementVNode("div", _hoisted_3$
|
|
476743
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
476744
|
+
createElementVNode("div", _hoisted_2$a, [
|
|
476745
|
+
createElementVNode("div", _hoisted_3$a, [
|
|
476432
476746
|
_cache[2] || (_cache[2] = createElementVNode("span", { class: "toolbar-title" }, "分组管理:", -1)),
|
|
476433
476747
|
createVNode$1(_component_el_button, {
|
|
476434
476748
|
type: "primary",
|
|
@@ -476451,9 +476765,9 @@ const _sfc_main$b = {
|
|
|
476451
476765
|
_: 1
|
|
476452
476766
|
})
|
|
476453
476767
|
]),
|
|
476454
|
-
createElementVNode("div", _hoisted_4$
|
|
476768
|
+
createElementVNode("div", _hoisted_4$a, "共" + toDisplayString(groups.value.length) + "条数据", 1)
|
|
476455
476769
|
]),
|
|
476456
|
-
createElementVNode("div", _hoisted_5$
|
|
476770
|
+
createElementVNode("div", _hoisted_5$a, [
|
|
476457
476771
|
groups.value.length ? (openBlock(), createBlock(_component_el_tree, {
|
|
476458
476772
|
key: 0,
|
|
476459
476773
|
data: groups.value,
|
|
@@ -476476,15 +476790,15 @@ const _sfc_main$b = {
|
|
|
476476
476790
|
};
|
|
476477
476791
|
}
|
|
476478
476792
|
};
|
|
476479
|
-
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476480
|
-
const _hoisted_1$
|
|
476481
|
-
const _hoisted_2$
|
|
476482
|
-
const _hoisted_3$
|
|
476483
|
-
const _hoisted_4$
|
|
476484
|
-
const _hoisted_5$
|
|
476793
|
+
const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-1cc008ea"]]);
|
|
476794
|
+
const _hoisted_1$a = { class: "dialog-content" };
|
|
476795
|
+
const _hoisted_2$9 = { class: "toolbar" };
|
|
476796
|
+
const _hoisted_3$9 = { class: "toolbar-left" };
|
|
476797
|
+
const _hoisted_4$9 = ["onClick"];
|
|
476798
|
+
const _hoisted_5$9 = { class: "toolbar-right" };
|
|
476485
476799
|
const _hoisted_6$7 = ["onClick"];
|
|
476486
476800
|
const _hoisted_7$6 = { class: "content-area" };
|
|
476487
|
-
const _sfc_main$
|
|
476801
|
+
const _sfc_main$b = {
|
|
476488
476802
|
__name: "index",
|
|
476489
476803
|
setup(__props) {
|
|
476490
476804
|
const visible = ref(true);
|
|
@@ -476546,9 +476860,9 @@ const _sfc_main$a = {
|
|
|
476546
476860
|
onClose: handleClose
|
|
476547
476861
|
}, {
|
|
476548
476862
|
default: withCtx(() => [
|
|
476549
|
-
createElementVNode("div", _hoisted_1$
|
|
476550
|
-
createElementVNode("div", _hoisted_2$
|
|
476551
|
-
createElementVNode("div", _hoisted_3$
|
|
476863
|
+
createElementVNode("div", _hoisted_1$a, [
|
|
476864
|
+
createElementVNode("div", _hoisted_2$9, [
|
|
476865
|
+
createElementVNode("div", _hoisted_3$9, [
|
|
476552
476866
|
(openBlock(), createElementBlock(Fragment, null, renderList(leftTools, (tool, idx) => {
|
|
476553
476867
|
return createVNode$1(_component_el_tooltip, {
|
|
476554
476868
|
key: idx,
|
|
@@ -476560,13 +476874,13 @@ const _sfc_main$a = {
|
|
|
476560
476874
|
createElementVNode("i", {
|
|
476561
476875
|
class: normalizeClass([tool.icon, "tool-icon"]),
|
|
476562
476876
|
onClick: ($event) => handleToolClick(tool, "left", idx)
|
|
476563
|
-
}, null, 10, _hoisted_4$
|
|
476877
|
+
}, null, 10, _hoisted_4$9)
|
|
476564
476878
|
]),
|
|
476565
476879
|
_: 2
|
|
476566
476880
|
}, 1032, ["content"]);
|
|
476567
476881
|
}), 64))
|
|
476568
476882
|
]),
|
|
476569
|
-
createElementVNode("div", _hoisted_5$
|
|
476883
|
+
createElementVNode("div", _hoisted_5$9, [
|
|
476570
476884
|
(openBlock(), createElementBlock(Fragment, null, renderList(rightTools, (tool, idx) => {
|
|
476571
476885
|
return createVNode$1(_component_el_tooltip, {
|
|
476572
476886
|
key: idx,
|
|
@@ -476622,9 +476936,9 @@ const _sfc_main$a = {
|
|
|
476622
476936
|
};
|
|
476623
476937
|
}
|
|
476624
476938
|
};
|
|
476625
|
-
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
476626
|
-
const _hoisted_1$
|
|
476627
|
-
const _sfc_main$
|
|
476939
|
+
const MapDrawingDialog = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-16fc7a81"]]);
|
|
476940
|
+
const _hoisted_1$9 = { class: "flex" };
|
|
476941
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
476628
476942
|
__name: "MapToolbar",
|
|
476629
476943
|
props: {
|
|
476630
476944
|
config: { default: void 0 },
|
|
@@ -476815,7 +477129,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
476815
477129
|
class: "main-menu-item"
|
|
476816
477130
|
}, {
|
|
476817
477131
|
title: withCtx(() => [
|
|
476818
|
-
createElementVNode("div", _hoisted_1$
|
|
477132
|
+
createElementVNode("div", _hoisted_1$9, [
|
|
476819
477133
|
createElementVNode("div", null, [
|
|
476820
477134
|
createVNode$1(_component_el_icon, null, {
|
|
476821
477135
|
default: withCtx(() => [
|
|
@@ -476992,7 +477306,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
476992
477306
|
]),
|
|
476993
477307
|
_: 1
|
|
476994
477308
|
}, 8, ["default-active"]),
|
|
476995
|
-
createVNode$1(_sfc_main$
|
|
477309
|
+
createVNode$1(_sfc_main$k, {
|
|
476996
477310
|
modelValue: showBasemapPanel.value,
|
|
476997
477311
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showBasemapPanel.value = $event),
|
|
476998
477312
|
config: props.config,
|
|
@@ -477003,28 +477317,28 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477003
477317
|
modelValue: showMeasurement.value,
|
|
477004
477318
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showMeasurement.value = $event)
|
|
477005
477319
|
}, null, 8, ["modelValue"]),
|
|
477006
|
-
createVNode$1(_sfc_main$
|
|
477320
|
+
createVNode$1(_sfc_main$i, {
|
|
477007
477321
|
ref_key: "coordinateLocationDialogRef",
|
|
477008
477322
|
ref: coordinateLocationDialogRef,
|
|
477009
477323
|
modelValue: showCoordinateLocation.value,
|
|
477010
477324
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => showCoordinateLocation.value = $event)
|
|
477011
477325
|
}, null, 8, ["modelValue"]),
|
|
477012
|
-
createVNode$1(_sfc_main$
|
|
477326
|
+
createVNode$1(_sfc_main$h, {
|
|
477013
477327
|
modelValue: showRegionNavigation.value,
|
|
477014
477328
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showRegionNavigation.value = $event),
|
|
477015
477329
|
onNavigationAction: handleNavigationAction
|
|
477016
477330
|
}, null, 8, ["modelValue"]),
|
|
477017
|
-
createVNode$1(_sfc_main$
|
|
477331
|
+
createVNode$1(_sfc_main$g, {
|
|
477018
477332
|
modelValue: showMyMarkers.value,
|
|
477019
477333
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => showMyMarkers.value = $event),
|
|
477020
477334
|
onMarkerAction: handleMarkerAction
|
|
477021
477335
|
}, null, 8, ["modelValue"]),
|
|
477022
|
-
createVNode$1(_sfc_main$
|
|
477336
|
+
createVNode$1(_sfc_main$f, {
|
|
477023
477337
|
modelValue: showViewBookmarks.value,
|
|
477024
477338
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showViewBookmarks.value = $event),
|
|
477025
477339
|
onBookmarkAction: handleBookmarkAction
|
|
477026
477340
|
}, null, 8, ["modelValue"]),
|
|
477027
|
-
createVNode$1(_sfc_main$
|
|
477341
|
+
createVNode$1(_sfc_main$e, {
|
|
477028
477342
|
modelValue: showMapPrint.value,
|
|
477029
477343
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showMapPrint.value = $event),
|
|
477030
477344
|
onPrintAction: handlePrintAction
|
|
@@ -477038,7 +477352,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
477038
477352
|
};
|
|
477039
477353
|
}
|
|
477040
477354
|
});
|
|
477041
|
-
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
477355
|
+
const MapToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-f8ee8458"]]);
|
|
477042
477356
|
const TIANDITU_CONFIG = {
|
|
477043
477357
|
baseUrl: "https://api.tianditu.gov.cn/v2/search",
|
|
477044
477358
|
key: "9a7244dd5d1a1299a52946a3d0f8ff68"
|
|
@@ -477698,14 +478012,14 @@ const searchService = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defin
|
|
|
477698
478012
|
MapSearchService,
|
|
477699
478013
|
defaultSearchConfig
|
|
477700
478014
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
477701
|
-
const _hoisted_1$
|
|
477702
|
-
const _hoisted_2$
|
|
477703
|
-
const _hoisted_3$
|
|
478015
|
+
const _hoisted_1$8 = { class: "search-input-wrapper" };
|
|
478016
|
+
const _hoisted_2$8 = { class: "search-results" };
|
|
478017
|
+
const _hoisted_3$8 = {
|
|
477704
478018
|
key: 0,
|
|
477705
478019
|
class: "search-section"
|
|
477706
478020
|
};
|
|
477707
|
-
const _hoisted_4$
|
|
477708
|
-
const _hoisted_5$
|
|
478021
|
+
const _hoisted_4$8 = { class: "section-title" };
|
|
478022
|
+
const _hoisted_5$8 = ["onClick"];
|
|
477709
478023
|
const _hoisted_6$6 = { class: "item-content" };
|
|
477710
478024
|
const _hoisted_7$5 = { class: "item-name" };
|
|
477711
478025
|
const _hoisted_8$5 = { class: "item-address" };
|
|
@@ -477734,7 +478048,7 @@ const _hoisted_18$2 = {
|
|
|
477734
478048
|
key: 0,
|
|
477735
478049
|
class: "no-results"
|
|
477736
478050
|
};
|
|
477737
|
-
const _sfc_main$
|
|
478051
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
477738
478052
|
__name: "MapSearch",
|
|
477739
478053
|
props: {
|
|
477740
478054
|
config: { default: () => ({
|
|
@@ -477979,7 +478293,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
477979
478293
|
class: normalizeClass(["map-search-container", [`position-${position2.value}`, { "search-active": isSearchActive.value }]])
|
|
477980
478294
|
}, [
|
|
477981
478295
|
renderSlot(_ctx.$slots, "prepend"),
|
|
477982
|
-
createElementVNode("div", _hoisted_1$
|
|
478296
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
477983
478297
|
renderSlot(_ctx.$slots, "search-input", {
|
|
477984
478298
|
searchQuery: searchQuery.value,
|
|
477985
478299
|
placeholder: placeholder.value,
|
|
@@ -478035,7 +478349,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478035
478349
|
}, 8, ["modelValue", "placeholder"])
|
|
478036
478350
|
])
|
|
478037
478351
|
]),
|
|
478038
|
-
withDirectives(createElementVNode("div", _hoisted_2$
|
|
478352
|
+
withDirectives(createElementVNode("div", _hoisted_2$8, [
|
|
478039
478353
|
renderSlot(_ctx.$slots, "search-results", {
|
|
478040
478354
|
searchResults: searchResults.value,
|
|
478041
478355
|
searchHistory: searchHistory.value,
|
|
@@ -478047,9 +478361,9 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478047
478361
|
clearHistory,
|
|
478048
478362
|
highlightText
|
|
478049
478363
|
}, () => [
|
|
478050
|
-
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
478364
|
+
showHistory.value && searchHistory.value.length > 0 && !searchQuery.value ? (openBlock(), createElementBlock("div", _hoisted_3$8, [
|
|
478051
478365
|
renderSlot(_ctx.$slots, "history-title", { clearHistory }, () => [
|
|
478052
|
-
createElementVNode("div", _hoisted_4$
|
|
478366
|
+
createElementVNode("div", _hoisted_4$8, [
|
|
478053
478367
|
_cache[2] || (_cache[2] = createElementVNode("span", null, "搜索历史", -1)),
|
|
478054
478368
|
createVNode$1(unref(ElButton), {
|
|
478055
478369
|
type: "text",
|
|
@@ -478085,7 +478399,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478085
478399
|
createElementVNode("div", _hoisted_7$5, toDisplayString(item.name), 1),
|
|
478086
478400
|
createElementVNode("div", _hoisted_8$5, toDisplayString(item.address), 1)
|
|
478087
478401
|
])
|
|
478088
|
-
], 10, _hoisted_5$
|
|
478402
|
+
], 10, _hoisted_5$8)
|
|
478089
478403
|
]);
|
|
478090
478404
|
}), 128))
|
|
478091
478405
|
])) : createCommentVNode("", true),
|
|
@@ -478159,7 +478473,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
478159
478473
|
};
|
|
478160
478474
|
}
|
|
478161
478475
|
});
|
|
478162
|
-
const _sfc_main$
|
|
478476
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
478163
478477
|
__name: "index",
|
|
478164
478478
|
props: {
|
|
478165
478479
|
config: {},
|
|
@@ -478705,12 +479019,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
478705
479019
|
};
|
|
478706
479020
|
}
|
|
478707
479021
|
});
|
|
478708
|
-
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
478709
|
-
const _hoisted_1$
|
|
478710
|
-
const _hoisted_2$
|
|
478711
|
-
const _hoisted_3$
|
|
478712
|
-
const _hoisted_4$
|
|
478713
|
-
const _hoisted_5$
|
|
479022
|
+
const MapControls = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-45410a30"]]);
|
|
479023
|
+
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" };
|
|
479024
|
+
const _hoisted_2$7 = { class: "panel-actions" };
|
|
479025
|
+
const _hoisted_3$7 = { class: "panel-content max-h-125 overflow-y-auto" };
|
|
479026
|
+
const _hoisted_4$7 = { class: "p-2" };
|
|
479027
|
+
const _hoisted_5$7 = { class: "legend-content p-2" };
|
|
478714
479028
|
const _hoisted_6$5 = { key: 0 };
|
|
478715
479029
|
const _hoisted_7$4 = { class: "text-xs text-gray-600" };
|
|
478716
479030
|
const _hoisted_8$4 = { key: 1 };
|
|
@@ -478741,7 +479055,7 @@ const _hoisted_23 = {
|
|
|
478741
479055
|
key: 1,
|
|
478742
479056
|
class: "py-10 px-5 text-center"
|
|
478743
479057
|
};
|
|
478744
|
-
const _sfc_main$
|
|
479058
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
478745
479059
|
__name: "LegendPanel",
|
|
478746
479060
|
props: {
|
|
478747
479061
|
position: { default: "right" },
|
|
@@ -478951,9 +479265,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
478951
479265
|
class: normalizeClass(["custom-legend-box absolute bg-white rounded-lg bottom-40px shadow-lg transition-all duration-300 max-h-[calc(100vh-40px)] overflow-hidden z-1000", { "legend-collapsed": isCollapsed.value }]),
|
|
478952
479266
|
style: normalizeStyle$1(panelStyle.value)
|
|
478953
479267
|
}, [
|
|
478954
|
-
createElementVNode("div", _hoisted_1$
|
|
479268
|
+
createElementVNode("div", _hoisted_1$7, [
|
|
478955
479269
|
_cache[1] || (_cache[1] = createElementVNode("h3", { class: "m-0 text-sm font-semibold text-gray-800" }, "图例", -1)),
|
|
478956
|
-
createElementVNode("div", _hoisted_2$
|
|
479270
|
+
createElementVNode("div", _hoisted_2$7, [
|
|
478957
479271
|
createVNode$1(_component_el_button, {
|
|
478958
479272
|
link: "",
|
|
478959
479273
|
size: "small",
|
|
@@ -478962,8 +479276,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
478962
479276
|
}, null, 8, ["icon"])
|
|
478963
479277
|
])
|
|
478964
479278
|
]),
|
|
478965
|
-
createElementVNode("div", _hoisted_3$
|
|
478966
|
-
createElementVNode("div", _hoisted_4$
|
|
479279
|
+
createElementVNode("div", _hoisted_3$7, [
|
|
479280
|
+
createElementVNode("div", _hoisted_4$7, [
|
|
478967
479281
|
visibleLegends.value.length > 0 ? (openBlock(), createBlock(_component_el_collapse, {
|
|
478968
479282
|
key: 0,
|
|
478969
479283
|
modelValue: activeNames.value,
|
|
@@ -478979,7 +479293,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
478979
479293
|
class: "legend-item"
|
|
478980
479294
|
}, {
|
|
478981
479295
|
default: withCtx(() => [
|
|
478982
|
-
createElementVNode("div", _hoisted_5$
|
|
479296
|
+
createElementVNode("div", _hoisted_5$7, [
|
|
478983
479297
|
legend.type === "symbol" ? (openBlock(), createElementBlock("div", _hoisted_6$5, [
|
|
478984
479298
|
(openBlock(true), createElementBlock(Fragment, null, renderList(legend.items, (item) => {
|
|
478985
479299
|
return openBlock(), createElementBlock("div", {
|
|
@@ -479482,8 +479796,12 @@ class LayerTreeManager {
|
|
|
479482
479796
|
__publicField(this, "defaultCheckedKeys", computed(() => {
|
|
479483
479797
|
const checkedKeys = [];
|
|
479484
479798
|
const collectVisibleIds = (layer2) => {
|
|
479485
|
-
if (layer2.visible
|
|
479486
|
-
|
|
479799
|
+
if (layer2.visible) {
|
|
479800
|
+
const isGroup = layer2.type === "group";
|
|
479801
|
+
const hasChildren = layer2.children && Array.isArray(layer2.children) && layer2.children.length > 0;
|
|
479802
|
+
if (!isGroup || isGroup && !hasChildren) {
|
|
479803
|
+
checkedKeys.push(layer2.id);
|
|
479804
|
+
}
|
|
479487
479805
|
}
|
|
479488
479806
|
if (layer2.children && Array.isArray(layer2.children)) {
|
|
479489
479807
|
layer2.children.forEach((child) => collectVisibleIds(child));
|
|
@@ -479524,10 +479842,11 @@ class LayerTreeManager {
|
|
|
479524
479842
|
* @returns 树节点数据
|
|
479525
479843
|
*/
|
|
479526
479844
|
buildLayerNode(layer2) {
|
|
479845
|
+
const isGroup = layer2.type === "group" || layer2.children && Array.isArray(layer2.children) && layer2.children.length > 0;
|
|
479527
479846
|
const node = {
|
|
479528
479847
|
id: layer2.id,
|
|
479529
479848
|
label: layer2.name,
|
|
479530
|
-
type: "layer",
|
|
479849
|
+
type: isGroup ? "group" : "layer",
|
|
479531
479850
|
layerType: layer2.type,
|
|
479532
479851
|
layerData: layer2
|
|
479533
479852
|
};
|
|
@@ -480181,11 +480500,11 @@ class LayerConfigManager {
|
|
|
480181
480500
|
console.log("批量更新结果:", results);
|
|
480182
480501
|
}
|
|
480183
480502
|
}
|
|
480184
|
-
const _hoisted_1$
|
|
480185
|
-
const _hoisted_2$
|
|
480186
|
-
const _hoisted_3$
|
|
480187
|
-
const _hoisted_4$
|
|
480188
|
-
const _hoisted_5$
|
|
480503
|
+
const _hoisted_1$6 = { class: "filter-panel" };
|
|
480504
|
+
const _hoisted_2$6 = { class: "config-section" };
|
|
480505
|
+
const _hoisted_3$6 = { class: "config-item" };
|
|
480506
|
+
const _hoisted_4$6 = { class: "value-text" };
|
|
480507
|
+
const _hoisted_5$6 = { class: "config-item" };
|
|
480189
480508
|
const _hoisted_6$4 = { class: "value-text" };
|
|
480190
480509
|
const _hoisted_7$3 = { class: "config-item" };
|
|
480191
480510
|
const _hoisted_8$3 = { class: "value-text" };
|
|
@@ -480202,7 +480521,7 @@ const _hoisted_18 = { class: "config-item" };
|
|
|
480202
480521
|
const _hoisted_19 = { class: "value-text" };
|
|
480203
480522
|
const _hoisted_20 = { class: "config-section" };
|
|
480204
480523
|
const _hoisted_21 = { class: "preset-buttons" };
|
|
480205
|
-
const _sfc_main$
|
|
480524
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
480206
480525
|
__name: "FilterPanel",
|
|
480207
480526
|
props: {
|
|
480208
480527
|
filters: {}
|
|
@@ -480222,10 +480541,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480222
480541
|
return (_ctx, _cache) => {
|
|
480223
480542
|
const _component_el_slider = resolveComponent("el-slider");
|
|
480224
480543
|
const _component_el_button = resolveComponent("el-button");
|
|
480225
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
480226
|
-
createElementVNode("div", _hoisted_2$
|
|
480544
|
+
return openBlock(), createElementBlock("div", _hoisted_1$6, [
|
|
480545
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
480227
480546
|
_cache[15] || (_cache[15] = createElementVNode("h5", null, "色彩调整", -1)),
|
|
480228
|
-
createElementVNode("div", _hoisted_3$
|
|
480547
|
+
createElementVNode("div", _hoisted_3$6, [
|
|
480229
480548
|
_cache[11] || (_cache[11] = createElementVNode("label", null, "色相:", -1)),
|
|
480230
480549
|
createVNode$1(_component_el_slider, {
|
|
480231
480550
|
modelValue: _ctx.filters.hue,
|
|
@@ -480235,9 +480554,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480235
480554
|
step: 1,
|
|
480236
480555
|
onInput: handleFilterChange
|
|
480237
480556
|
}, null, 8, ["modelValue"]),
|
|
480238
|
-
createElementVNode("span", _hoisted_4$
|
|
480557
|
+
createElementVNode("span", _hoisted_4$6, toDisplayString(_ctx.filters.hue) + "°", 1)
|
|
480239
480558
|
]),
|
|
480240
|
-
createElementVNode("div", _hoisted_5$
|
|
480559
|
+
createElementVNode("div", _hoisted_5$6, [
|
|
480241
480560
|
_cache[12] || (_cache[12] = createElementVNode("label", null, "饱和度:", -1)),
|
|
480242
480561
|
createVNode$1(_component_el_slider, {
|
|
480243
480562
|
modelValue: _ctx.filters.saturate,
|
|
@@ -480372,14 +480691,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
480372
480691
|
};
|
|
480373
480692
|
}
|
|
480374
480693
|
});
|
|
480375
|
-
const _hoisted_1$
|
|
480376
|
-
const _hoisted_2$
|
|
480377
|
-
const _hoisted_3$
|
|
480694
|
+
const _hoisted_1$5 = { class: "style-config-panel" };
|
|
480695
|
+
const _hoisted_2$5 = { class: "panel-title" };
|
|
480696
|
+
const _hoisted_3$5 = {
|
|
480378
480697
|
key: 0,
|
|
480379
480698
|
class: "config-section"
|
|
480380
480699
|
};
|
|
480381
|
-
const _hoisted_4$
|
|
480382
|
-
const _hoisted_5$
|
|
480700
|
+
const _hoisted_4$5 = { class: "config-item" };
|
|
480701
|
+
const _hoisted_5$5 = { class: "value-text" };
|
|
480383
480702
|
const _hoisted_6$3 = { class: "config-item" };
|
|
480384
480703
|
const _hoisted_7$2 = { class: "value-text" };
|
|
480385
480704
|
const _hoisted_8$2 = {
|
|
@@ -480391,7 +480710,7 @@ const _hoisted_10$1 = { class: "config-item" };
|
|
|
480391
480710
|
const _hoisted_11$1 = { class: "config-item" };
|
|
480392
480711
|
const _hoisted_12$1 = { class: "config-item" };
|
|
480393
480712
|
const _hoisted_13$1 = { class: "panel-actions" };
|
|
480394
|
-
const _sfc_main$
|
|
480713
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
480395
480714
|
__name: "LayerStyleConfig",
|
|
480396
480715
|
props: {
|
|
480397
480716
|
layerData: {}
|
|
@@ -480422,11 +480741,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480422
480741
|
const _component_el_select = resolveComponent("el-select");
|
|
480423
480742
|
const _component_el_switch = resolveComponent("el-switch");
|
|
480424
480743
|
const _component_el_button = resolveComponent("el-button");
|
|
480425
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
480426
|
-
createElementVNode("h4", _hoisted_2$
|
|
480427
|
-
isClusterLayer.value ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
480744
|
+
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
480745
|
+
createElementVNode("h4", _hoisted_2$5, toDisplayString(_ctx.layerData.label) + " - 样式配置", 1),
|
|
480746
|
+
isClusterLayer.value ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
|
|
480428
480747
|
_cache[8] || (_cache[8] = createElementVNode("h5", null, "聚合配置", -1)),
|
|
480429
|
-
createElementVNode("div", _hoisted_4$
|
|
480748
|
+
createElementVNode("div", _hoisted_4$5, [
|
|
480430
480749
|
_cache[6] || (_cache[6] = createElementVNode("label", null, "聚合距离:", -1)),
|
|
480431
480750
|
createVNode$1(_component_el_slider, {
|
|
480432
480751
|
modelValue: _ctx.layerData.clusterDistance,
|
|
@@ -480436,7 +480755,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480436
480755
|
size: "small",
|
|
480437
480756
|
onInput: handleClusterDistanceChange
|
|
480438
480757
|
}, null, 8, ["modelValue"]),
|
|
480439
|
-
createElementVNode("span", _hoisted_5$
|
|
480758
|
+
createElementVNode("span", _hoisted_5$5, toDisplayString(_ctx.layerData.clusterDistance) + "px", 1)
|
|
480440
480759
|
]),
|
|
480441
480760
|
createElementVNode("div", _hoisted_6$3, [
|
|
480442
480761
|
_cache[7] || (_cache[7] = createElementVNode("label", null, "最小距离:", -1)),
|
|
@@ -480521,12 +480840,12 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
480521
480840
|
};
|
|
480522
480841
|
}
|
|
480523
480842
|
});
|
|
480524
|
-
const _hoisted_1$
|
|
480525
|
-
const _hoisted_2$
|
|
480526
|
-
const _hoisted_3$
|
|
480527
|
-
const _hoisted_4$
|
|
480528
|
-
const _hoisted_5$
|
|
480529
|
-
const _sfc_main$
|
|
480843
|
+
const _hoisted_1$4 = { class: "font-medium" };
|
|
480844
|
+
const _hoisted_2$4 = { class: "layer-info" };
|
|
480845
|
+
const _hoisted_3$4 = { class: "layer-name" };
|
|
480846
|
+
const _hoisted_4$4 = { class: "opacity-control" };
|
|
480847
|
+
const _hoisted_5$4 = { class: "opacity-value" };
|
|
480848
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
480530
480849
|
__name: "LayerTreeNode",
|
|
480531
480850
|
props: {
|
|
480532
480851
|
data: {},
|
|
@@ -480578,7 +480897,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480578
480897
|
]),
|
|
480579
480898
|
_: 1
|
|
480580
480899
|
}),
|
|
480581
|
-
createElementVNode("span", _hoisted_1$
|
|
480900
|
+
createElementVNode("span", _hoisted_1$4, toDisplayString(_ctx.data.label), 1)
|
|
480582
480901
|
], 32)) : (openBlock(), createElementBlock("div", {
|
|
480583
480902
|
key: 1,
|
|
480584
480903
|
class: "layer-item",
|
|
@@ -480586,7 +480905,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480586
480905
|
onClick: _cache[5] || (_cache[5] = withModifiers(() => {
|
|
480587
480906
|
}, ["stop"]))
|
|
480588
480907
|
}, [
|
|
480589
|
-
createElementVNode("div", _hoisted_2$
|
|
480908
|
+
createElementVNode("div", _hoisted_2$4, [
|
|
480590
480909
|
createVNode$1(_component_el_icon, {
|
|
480591
480910
|
class: normalizeClass(["layer-icon", layerIconClass.value])
|
|
480592
480911
|
}, {
|
|
@@ -480595,7 +480914,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480595
480914
|
]),
|
|
480596
480915
|
_: 1
|
|
480597
480916
|
}, 8, ["class"]),
|
|
480598
|
-
createElementVNode("span", _hoisted_3$
|
|
480917
|
+
createElementVNode("span", _hoisted_3$4, toDisplayString(_ctx.data.label), 1)
|
|
480599
480918
|
]),
|
|
480600
480919
|
createElementVNode("div", {
|
|
480601
480920
|
class: "layer-controls",
|
|
@@ -480606,7 +480925,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480606
480925
|
onDblclick: _cache[4] || (_cache[4] = withModifiers(() => {
|
|
480607
480926
|
}, ["stop"]))
|
|
480608
480927
|
}, [
|
|
480609
|
-
createElementVNode("div", _hoisted_4$
|
|
480928
|
+
createElementVNode("div", _hoisted_4$4, [
|
|
480610
480929
|
createVNode$1(_component_el_slider, {
|
|
480611
480930
|
modelValue: _ctx.data.layerData.opacity,
|
|
480612
480931
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.data.layerData.opacity = $event),
|
|
@@ -480616,7 +480935,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480616
480935
|
class: "opacity-slider",
|
|
480617
480936
|
onInput: handleOpacityChange
|
|
480618
480937
|
}, null, 8, ["modelValue"]),
|
|
480619
|
-
createElementVNode("span", _hoisted_5$
|
|
480938
|
+
createElementVNode("span", _hoisted_5$4, toDisplayString(_ctx.data.layerData.opacity) + "%", 1)
|
|
480620
480939
|
]),
|
|
480621
480940
|
createVNode$1(_component_el_popover, {
|
|
480622
480941
|
placement: "left",
|
|
@@ -480645,7 +480964,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480645
480964
|
})
|
|
480646
480965
|
]),
|
|
480647
480966
|
default: withCtx(() => [
|
|
480648
|
-
createVNode$1(_sfc_main$
|
|
480967
|
+
createVNode$1(_sfc_main$5, {
|
|
480649
480968
|
"layer-data": _ctx.data.layerData,
|
|
480650
480969
|
onClusterDistanceChange: handleClusterDistanceChange,
|
|
480651
480970
|
onSuperMapConfigChange: handleSuperMapConfigChange,
|
|
@@ -480660,15 +480979,15 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
480660
480979
|
};
|
|
480661
480980
|
}
|
|
480662
480981
|
});
|
|
480663
|
-
const _hoisted_1$
|
|
480664
|
-
const _hoisted_2$
|
|
480665
|
-
const _hoisted_3$
|
|
480666
|
-
const _hoisted_4$
|
|
480667
|
-
const _hoisted_5$
|
|
480982
|
+
const _hoisted_1$3 = { class: "flex-1 overflow-y-auto p-4" };
|
|
480983
|
+
const _hoisted_2$3 = { class: "pb-2 flex items-center justify-between" };
|
|
480984
|
+
const _hoisted_3$3 = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
|
|
480985
|
+
const _hoisted_4$3 = { class: "global-style-panel" };
|
|
480986
|
+
const _hoisted_5$3 = { class: "config-section" };
|
|
480668
480987
|
const _hoisted_6$2 = { class: "config-item" };
|
|
480669
480988
|
const _hoisted_7$1 = { class: "current-style-display" };
|
|
480670
480989
|
const _hoisted_8$1 = { class: "style-preview" };
|
|
480671
|
-
const _sfc_main$
|
|
480990
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
480672
480991
|
__name: "LayerPanel",
|
|
480673
480992
|
props: {
|
|
480674
480993
|
modelValue: { type: Boolean }
|
|
@@ -480791,7 +481110,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
480791
481110
|
}
|
|
480792
481111
|
const willCheck = checkedKeys ? checkedKeys.includes(data.id) : !defaultCheckedKeys.value.includes(data.id);
|
|
480793
481112
|
const toggleNodeAndChildren = (node, checked) => {
|
|
480794
|
-
if (node.type === "layer" && node.layerData) {
|
|
481113
|
+
if ((node.type === "layer" || node.type === "group") && node.layerData) {
|
|
480795
481114
|
node.layerData.visible = checked;
|
|
480796
481115
|
handleLayerVisibilityChange(node.layerData);
|
|
480797
481116
|
if (node.layerData.type === "group") {
|
|
@@ -481506,7 +481825,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481506
481825
|
const _component_el_tree = resolveComponent("el-tree");
|
|
481507
481826
|
const _component_el_tab_pane = resolveComponent("el-tab-pane");
|
|
481508
481827
|
const _component_el_tabs = resolveComponent("el-tabs");
|
|
481509
|
-
return openBlock(), createBlock(_sfc_main$
|
|
481828
|
+
return openBlock(), createBlock(_sfc_main$l, mergeProps({
|
|
481510
481829
|
modelValue: visible.value,
|
|
481511
481830
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
|
|
481512
481831
|
}, dialogProps.value, { onClose: handleClose }), createSlots({
|
|
@@ -481544,8 +481863,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481544
481863
|
name: "layers"
|
|
481545
481864
|
}, {
|
|
481546
481865
|
default: withCtx(() => [
|
|
481547
|
-
createElementVNode("div", _hoisted_1$
|
|
481548
|
-
createElementVNode("div", _hoisted_2$
|
|
481866
|
+
createElementVNode("div", _hoisted_1$3, [
|
|
481867
|
+
createElementVNode("div", _hoisted_2$3, [
|
|
481549
481868
|
_cache[7] || (_cache[7] = createElementVNode("div", { class: "text-sm text-gray-600" }, "树形视图", -1)),
|
|
481550
481869
|
createVNode$1(_component_el_radio_group, {
|
|
481551
481870
|
modelValue: activeTreeType.value,
|
|
@@ -481591,7 +481910,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481591
481910
|
class: "layer-tree"
|
|
481592
481911
|
}, {
|
|
481593
481912
|
default: withCtx(({ node, data }) => [
|
|
481594
|
-
createVNode$1(_sfc_main$
|
|
481913
|
+
createVNode$1(_sfc_main$4, {
|
|
481595
481914
|
data,
|
|
481596
481915
|
"layer-tree-manager": unref(layerTreeManager),
|
|
481597
481916
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -481607,7 +481926,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481607
481926
|
key: group2.id,
|
|
481608
481927
|
class: "mb-3"
|
|
481609
481928
|
}, [
|
|
481610
|
-
createElementVNode("div", _hoisted_3$
|
|
481929
|
+
createElementVNode("div", _hoisted_3$3, toDisplayString(group2.name), 1),
|
|
481611
481930
|
createVNode$1(_component_el_tree, {
|
|
481612
481931
|
ref_for: true,
|
|
481613
481932
|
ref: (el) => classificationTreeRefs.value[group2.id] = el,
|
|
@@ -481629,7 +481948,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481629
481948
|
class: "layer-tree"
|
|
481630
481949
|
}, {
|
|
481631
481950
|
default: withCtx(({ node, data }) => [
|
|
481632
|
-
createVNode$1(_sfc_main$
|
|
481951
|
+
createVNode$1(_sfc_main$4, {
|
|
481633
481952
|
data,
|
|
481634
481953
|
"layer-tree-manager": unref(layerTreeManager),
|
|
481635
481954
|
onDoubleClick: handleLayerDoubleClick,
|
|
@@ -481652,7 +481971,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481652
481971
|
name: "style"
|
|
481653
481972
|
}, {
|
|
481654
481973
|
default: withCtx(() => [
|
|
481655
|
-
createElementVNode("div", _hoisted_4$
|
|
481974
|
+
createElementVNode("div", _hoisted_4$3, [
|
|
481656
481975
|
createVNode$1(_component_el_tabs, {
|
|
481657
481976
|
modelValue: activeStyleTab.value,
|
|
481658
481977
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => activeStyleTab.value = $event),
|
|
@@ -481664,7 +481983,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481664
481983
|
name: "filters"
|
|
481665
481984
|
}, {
|
|
481666
481985
|
default: withCtx(() => [
|
|
481667
|
-
createVNode$1(_sfc_main$
|
|
481986
|
+
createVNode$1(_sfc_main$6, {
|
|
481668
481987
|
filters: unref(globalFilters),
|
|
481669
481988
|
onFilterChange: applyFilterEffect,
|
|
481670
481989
|
onReset: resetFilters,
|
|
@@ -481678,7 +481997,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481678
481997
|
name: "custom"
|
|
481679
481998
|
}, {
|
|
481680
481999
|
default: withCtx(() => [
|
|
481681
|
-
createElementVNode("div", _hoisted_5$
|
|
482000
|
+
createElementVNode("div", _hoisted_5$3, [
|
|
481682
482001
|
createElementVNode("div", _hoisted_6$2, [
|
|
481683
482002
|
createVNode$1(unref(ElInput), {
|
|
481684
482003
|
modelValue: unref(globalCustomCss),
|
|
@@ -481749,6 +482068,150 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
481749
482068
|
};
|
|
481750
482069
|
}
|
|
481751
482070
|
});
|
|
482071
|
+
const _hoisted_1$2 = { class: "layer-panel" };
|
|
482072
|
+
const _hoisted_2$2 = ["onClick"];
|
|
482073
|
+
const _hoisted_3$2 = ["title"];
|
|
482074
|
+
const _hoisted_4$2 = {
|
|
482075
|
+
key: 0,
|
|
482076
|
+
class: "active-border"
|
|
482077
|
+
};
|
|
482078
|
+
const _hoisted_5$2 = { class: "layer-name" };
|
|
482079
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
482080
|
+
__name: "OlBaseLayerSwitcher",
|
|
482081
|
+
props: {
|
|
482082
|
+
map: {},
|
|
482083
|
+
baseLayers: {}
|
|
482084
|
+
},
|
|
482085
|
+
setup(__props) {
|
|
482086
|
+
const props = __props;
|
|
482087
|
+
const expand2 = ref(false);
|
|
482088
|
+
const validBaseLayers = computed(() => {
|
|
482089
|
+
return props.baseLayers.filter((layer2) => layer2.baseImgUrl && layer2.baseImgUrl.trim() !== "");
|
|
482090
|
+
});
|
|
482091
|
+
const containerStyle = computed(() => {
|
|
482092
|
+
if (!expand2.value) {
|
|
482093
|
+
return { width: "96px" };
|
|
482094
|
+
}
|
|
482095
|
+
const count2 = validBaseLayers.value.length;
|
|
482096
|
+
if (count2 === 0)
|
|
482097
|
+
return { width: "96px" };
|
|
482098
|
+
const width = count2 * 86 + (count2 - 1) * 10 + 10;
|
|
482099
|
+
return { width: `${width}px` };
|
|
482100
|
+
});
|
|
482101
|
+
const currentLayer = ref(null);
|
|
482102
|
+
watch(() => props.baseLayers, (layers) => {
|
|
482103
|
+
if (!currentLayer.value) {
|
|
482104
|
+
const visibleLayer = layers.find((l2) => l2.visible && l2.baseImgUrl);
|
|
482105
|
+
if (visibleLayer) {
|
|
482106
|
+
currentLayer.value = visibleLayer;
|
|
482107
|
+
} else if (validBaseLayers.value.length > 0) {
|
|
482108
|
+
currentLayer.value = validBaseLayers.value[0];
|
|
482109
|
+
}
|
|
482110
|
+
}
|
|
482111
|
+
}, { deep: true, immediate: true });
|
|
482112
|
+
const switchLayer = (targetLayer) => {
|
|
482113
|
+
if (!props.map)
|
|
482114
|
+
return;
|
|
482115
|
+
currentLayer.value = targetLayer;
|
|
482116
|
+
layerEventBus.emit("basemap-switch-request", {
|
|
482117
|
+
basemapId: targetLayer.id,
|
|
482118
|
+
basemapName: targetLayer.name,
|
|
482119
|
+
basemapType: targetLayer.type,
|
|
482120
|
+
basemapConfig: targetLayer
|
|
482121
|
+
});
|
|
482122
|
+
props.baseLayers.forEach((layerConfig) => {
|
|
482123
|
+
const isVisible2 = layerConfig.id === targetLayer.id;
|
|
482124
|
+
setLayerVisibility(layerConfig, isVisible2);
|
|
482125
|
+
});
|
|
482126
|
+
expand2.value = false;
|
|
482127
|
+
};
|
|
482128
|
+
const setLayerVisibility = (config, visible) => {
|
|
482129
|
+
config.visible = visible;
|
|
482130
|
+
if (config.type === "group") {
|
|
482131
|
+
if (config.layers) {
|
|
482132
|
+
config.layers.forEach((child) => setLayerVisibility(child, visible));
|
|
482133
|
+
}
|
|
482134
|
+
if (config.children) {
|
|
482135
|
+
config.children.forEach((child) => setLayerVisibility(child, visible));
|
|
482136
|
+
}
|
|
482137
|
+
}
|
|
482138
|
+
if (config.id) {
|
|
482139
|
+
const layer2 = findLayerById(props.map, config.id);
|
|
482140
|
+
if (layer2) {
|
|
482141
|
+
layer2.setVisible(visible);
|
|
482142
|
+
}
|
|
482143
|
+
}
|
|
482144
|
+
};
|
|
482145
|
+
const findLayerById = (map2, id) => {
|
|
482146
|
+
const layers = map2.getLayers().getArray();
|
|
482147
|
+
return findLayerRecursive(layers, id);
|
|
482148
|
+
};
|
|
482149
|
+
const findLayerRecursive = (layers, id) => {
|
|
482150
|
+
for (const layer2 of layers) {
|
|
482151
|
+
if (layer2.get("id") === id) {
|
|
482152
|
+
return layer2;
|
|
482153
|
+
}
|
|
482154
|
+
if (layer2.getLayers && typeof layer2.getLayers === "function") {
|
|
482155
|
+
const found = findLayerRecursive(layer2.getLayers().getArray(), id);
|
|
482156
|
+
if (found)
|
|
482157
|
+
return found;
|
|
482158
|
+
}
|
|
482159
|
+
}
|
|
482160
|
+
return null;
|
|
482161
|
+
};
|
|
482162
|
+
return (_ctx, _cache) => {
|
|
482163
|
+
var _a3, _b3;
|
|
482164
|
+
return openBlock(), createElementBlock("div", {
|
|
482165
|
+
class: normalizeClass(["ol-base-layer-switcher", { "is-expanded": expand2.value }]),
|
|
482166
|
+
style: normalizeStyle$1(containerStyle.value),
|
|
482167
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => expand2.value = true),
|
|
482168
|
+
onMouseleave: _cache[1] || (_cache[1] = ($event) => expand2.value = false)
|
|
482169
|
+
}, [
|
|
482170
|
+
createElementVNode("div", _hoisted_1$2, [
|
|
482171
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(validBaseLayers.value, (layer2) => {
|
|
482172
|
+
var _a4, _b4;
|
|
482173
|
+
return openBlock(), createElementBlock("div", {
|
|
482174
|
+
key: layer2.id,
|
|
482175
|
+
class: normalizeClass(["layer-item", { active: ((_a4 = currentLayer.value) == null ? void 0 : _a4.id) === layer2.id }]),
|
|
482176
|
+
onClick: ($event) => switchLayer(layer2),
|
|
482177
|
+
style: normalizeStyle$1({ backgroundImage: `url(${layer2.baseImgUrl})` })
|
|
482178
|
+
}, [
|
|
482179
|
+
createElementVNode("div", {
|
|
482180
|
+
class: "layer-name",
|
|
482181
|
+
title: layer2.name
|
|
482182
|
+
}, toDisplayString(layer2.name), 9, _hoisted_3$2),
|
|
482183
|
+
((_b4 = currentLayer.value) == null ? void 0 : _b4.id) === layer2.id ? (openBlock(), createElementBlock("div", _hoisted_4$2, [..._cache[2] || (_cache[2] = [
|
|
482184
|
+
createElementVNode("div", { class: "check-icon" }, [
|
|
482185
|
+
createElementVNode("svg", {
|
|
482186
|
+
viewBox: "0 0 1024 1024",
|
|
482187
|
+
width: "16",
|
|
482188
|
+
height: "16"
|
|
482189
|
+
}, [
|
|
482190
|
+
createElementVNode("path", {
|
|
482191
|
+
d: "M384 725.333333l-192-192 64-64 128 128 320-320 64 64z",
|
|
482192
|
+
fill: "#fff"
|
|
482193
|
+
})
|
|
482194
|
+
])
|
|
482195
|
+
], -1)
|
|
482196
|
+
])])) : createCommentVNode("", true)
|
|
482197
|
+
], 14, _hoisted_2$2);
|
|
482198
|
+
}), 128))
|
|
482199
|
+
]),
|
|
482200
|
+
createElementVNode("div", {
|
|
482201
|
+
class: normalizeClass(["layer-trigger", { "is-hidden": expand2.value }])
|
|
482202
|
+
}, [
|
|
482203
|
+
createElementVNode("div", {
|
|
482204
|
+
class: "current-layer-box",
|
|
482205
|
+
style: normalizeStyle$1({ backgroundImage: `url(${(_a3 = currentLayer.value) == null ? void 0 : _a3.baseImgUrl})` })
|
|
482206
|
+
}, [
|
|
482207
|
+
createElementVNode("div", _hoisted_5$2, toDisplayString((_b3 = currentLayer.value) == null ? void 0 : _b3.name), 1)
|
|
482208
|
+
], 4)
|
|
482209
|
+
], 2)
|
|
482210
|
+
], 38);
|
|
482211
|
+
};
|
|
482212
|
+
}
|
|
482213
|
+
});
|
|
482214
|
+
const OlBaseLayerSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-396e5ed1"]]);
|
|
481752
482215
|
const _hoisted_1$1 = {
|
|
481753
482216
|
key: 2,
|
|
481754
482217
|
class: "tooltip-content"
|
|
@@ -482994,12 +483457,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
482994
483457
|
isInFullscreen: () => isFullscreen.value
|
|
482995
483458
|
});
|
|
482996
483459
|
return (_ctx, _cache) => {
|
|
483460
|
+
var _a3;
|
|
482997
483461
|
const _component_el_icon = resolveComponent("el-icon");
|
|
482998
483462
|
const _component_el_button = resolveComponent("el-button");
|
|
482999
483463
|
return openBlock(), createElementBlock("div", {
|
|
483000
483464
|
class: normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
|
|
483001
483465
|
}, [
|
|
483002
|
-
createVNode$1(_sfc_main$
|
|
483466
|
+
createVNode$1(_sfc_main$n, {
|
|
483003
483467
|
ref_key: "mapContainerRef",
|
|
483004
483468
|
ref: mapContainerRef,
|
|
483005
483469
|
config: finalMapConfig.value,
|
|
@@ -483103,7 +483567,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483103
483567
|
}, null, 8, ["config", "left-offset", "right-offset", "top-offset", "bottom-offset"]), [
|
|
483104
483568
|
[vShow, finalShowToolbar.value]
|
|
483105
483569
|
]),
|
|
483106
|
-
withDirectives(createVNode$1(_sfc_main$
|
|
483570
|
+
withDirectives(createVNode$1(_sfc_main$9, {
|
|
483107
483571
|
ref_key: "mapSearchRef",
|
|
483108
483572
|
ref: mapSearchRef,
|
|
483109
483573
|
config: finalSearchConfig.value,
|
|
@@ -483138,7 +483602,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483138
483602
|
hasToolbarSlot.value ? renderSlot(_ctx.$slots, "toolbar", { key: 2 }) : createCommentVNode("", true),
|
|
483139
483603
|
hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "mapInfo", { key: 3 }) : createCommentVNode("", true),
|
|
483140
483604
|
hasMapInfoSlot.value ? renderSlot(_ctx.$slots, "map-info", { key: 4 }) : createCommentVNode("", true),
|
|
483141
|
-
finalEnableLayerPanel.value ? (openBlock(), createBlock(_sfc_main$
|
|
483605
|
+
finalEnableLayerPanel.value ? (openBlock(), createBlock(_sfc_main$3, {
|
|
483142
483606
|
key: 5,
|
|
483143
483607
|
modelValue: showLayerPanel.value,
|
|
483144
483608
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showLayerPanel.value = $event)
|
|
@@ -483169,7 +483633,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483169
483633
|
key: "2"
|
|
483170
483634
|
} : void 0
|
|
483171
483635
|
]), 1032, ["modelValue"])) : createCommentVNode("", true),
|
|
483172
|
-
showLegend.value ? (openBlock(), createBlock(_sfc_main$
|
|
483636
|
+
showLegend.value ? (openBlock(), createBlock(_sfc_main$7, {
|
|
483173
483637
|
key: 6,
|
|
483174
483638
|
position: finalLegendPosition.value,
|
|
483175
483639
|
width: finalLegendWidth.value,
|
|
@@ -483217,7 +483681,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
483217
483681
|
}), 128))
|
|
483218
483682
|
])
|
|
483219
483683
|
])) : createCommentVNode("", true),
|
|
483220
|
-
|
|
483684
|
+
map2.value && ((_a3 = finalMapConfig.value.baseLayers) == null ? void 0 : _a3.length) ? (openBlock(), createBlock(OlBaseLayerSwitcher, {
|
|
483685
|
+
key: 9,
|
|
483686
|
+
map: map2.value,
|
|
483687
|
+
"base-layers": finalMapConfig.value.baseLayers
|
|
483688
|
+
}, null, 8, ["map", "base-layers"])) : createCommentVNode("", true),
|
|
483689
|
+
createVNode$1(_sfc_main$e, {
|
|
483221
483690
|
modelValue: showPrintDialog.value,
|
|
483222
483691
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showPrintDialog.value = $event),
|
|
483223
483692
|
"map-instance": map2.value,
|
|
@@ -491499,7 +491968,7 @@ function(t3) {
|
|
|
491499
491968
|
*/
|
|
491500
491969
|
function(t3) {
|
|
491501
491970
|
function e8() {
|
|
491502
|
-
return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-
|
|
491971
|
+
return (n.canvg ? Promise.resolve(n.canvg) : import("./index.es-4f33fe12.mjs")).catch(function(t4) {
|
|
491503
491972
|
return Promise.reject(new Error("Could not load canvg: " + t4));
|
|
491504
491973
|
}).then(function(t4) {
|
|
491505
491974
|
return t4.default ? t4.default : t4;
|
|
@@ -500374,14 +500843,14 @@ const getAssetUrl = (path2) => {
|
|
|
500374
500843
|
};
|
|
500375
500844
|
const install = (app) => {
|
|
500376
500845
|
app.component("CustomOpenlayer", _sfc_main);
|
|
500377
|
-
app.component("CustomDialog", _sfc_main$
|
|
500378
|
-
app.component("SvgIcon", _sfc_main$
|
|
500846
|
+
app.component("CustomDialog", _sfc_main$l);
|
|
500847
|
+
app.component("SvgIcon", _sfc_main$m);
|
|
500379
500848
|
};
|
|
500380
500849
|
const index = {
|
|
500381
500850
|
install,
|
|
500382
500851
|
CustomOpenlayer: _sfc_main,
|
|
500383
|
-
CustomDialog: _sfc_main$
|
|
500384
|
-
SvgIcon: _sfc_main$
|
|
500852
|
+
CustomDialog: _sfc_main$l,
|
|
500853
|
+
SvgIcon: _sfc_main$m
|
|
500385
500854
|
};
|
|
500386
500855
|
const version = "1.0.0";
|
|
500387
500856
|
export {
|
|
@@ -500426,8 +500895,8 @@ export {
|
|
|
500426
500895
|
_defineProperty as b,
|
|
500427
500896
|
commonjsGlobal as c,
|
|
500428
500897
|
_sfc_main as d,
|
|
500429
|
-
_sfc_main$
|
|
500430
|
-
_sfc_main$
|
|
500898
|
+
_sfc_main$l as e,
|
|
500899
|
+
_sfc_main$m as f,
|
|
500431
500900
|
index as g,
|
|
500432
500901
|
getAssetUrl as h,
|
|
500433
500902
|
install as i,
|