vue-openlayers-plugin 1.2.0 → 1.2.2
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/{BasemapPanel-d6e4ea88.mjs → BasemapPanel-2a1eff3d.mjs} +1 -1
- package/lib/{CoordinateLocationDialog-81d00abc.mjs → CoordinateLocationDialog-3ffa7ef5.mjs} +1 -1
- package/lib/{MapPrintDialog-64d46412.mjs → FilterPanel-caa15606.mjs} +1 -1
- package/lib/{FilterPanel-7358e3fb.mjs → LayerPanel-c7be314b.mjs} +1 -1
- package/lib/{LayerPanel-9bf28955.mjs → MapPrintDialog-1520d417.mjs} +1 -1
- package/lib/{MeasurementDialog-4e084192.mjs → MeasurementDialog-1b4b64c7.mjs} +1 -1
- package/lib/{MyMarkersDialog-aa44e5bd.mjs → MyMarkersDialog-67ff8e26.mjs} +1 -1
- package/lib/{QuadCompareDialog-84a88cf9.mjs → QuadCompareDialog-c1098032.mjs} +1 -1
- package/lib/{RegionNavigationDialog-467ad6c0.mjs → RegionNavigationDialog-cc4e392d.mjs} +1 -1
- package/lib/{SplitCompareDialog-50410c0b.mjs → SplitCompareDialog-ab540279.mjs} +1 -1
- package/lib/{SwipeCompareDialog-c322e2f6.mjs → SwipeCompareDialog-a1aa3ab0.mjs} +1 -1
- package/lib/{ViewBookmarksDialog-83cf5ec4.mjs → ViewBookmarksDialog-6b0999f7.mjs} +1 -1
- package/lib/{index-58704a25.mjs → index-0c3a5960.mjs} +409 -74
- package/lib/{index-ee58f2f8.mjs → index-f34dc985.mjs} +1 -1
- package/lib/{index.es-320e524d.mjs → index.es-571daed3.mjs} +1 -1
- package/lib/index.esm.js +1 -1
- package/lib/index.umd.js +395 -60
- package/lib/style.css +61 -19
- package/package.json +2 -9
- package/types/components/OlControlPanel.vue.d.ts +9 -3
- package/types/components/OlControlPanel.vue.d.ts.map +1 -1
- package/types/components/OlMap.vue.d.ts +5 -1
- package/types/components/OlMap.vue.d.ts.map +1 -1
- package/types/core/MapManager.d.ts +5 -0
- package/types/core/MapManager.d.ts.map +1 -1
- package/types/lowcode-entry.d.ts +10 -0
- package/types/lowcode-entry.d.ts.map +1 -1
- package/types/types/map.d.ts +37 -0
- package/types/types/map.d.ts.map +1 -1
- package/lib//346/240/207/345/207/206 +0 -159
- package/types/tsconfig.tsbuildinfo +0 -1
package/lib/index.umd.js
CHANGED
|
@@ -4187,7 +4187,6 @@ var __publicField = (obj, key, value) => {
|
|
|
4187
4187
|
dest
|
|
4188
4188
|
);
|
|
4189
4189
|
}
|
|
4190
|
-
const SimpleGeometry$1 = SimpleGeometry;
|
|
4191
4190
|
function linearRing(flatCoordinates, offset2, end2, stride) {
|
|
4192
4191
|
let twiceArea = 0;
|
|
4193
4192
|
const x0 = flatCoordinates[end2 - stride];
|
|
@@ -4640,7 +4639,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4640
4639
|
}
|
|
4641
4640
|
return simplifiedOffset;
|
|
4642
4641
|
}
|
|
4643
|
-
let LinearRing$1 = class LinearRing2 extends SimpleGeometry
|
|
4642
|
+
let LinearRing$1 = class LinearRing2 extends SimpleGeometry {
|
|
4644
4643
|
/**
|
|
4645
4644
|
* @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
|
|
4646
4645
|
* For internal use, flat coordinates in combination with `layout` are also accepted.
|
|
@@ -4797,7 +4796,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4797
4796
|
}
|
|
4798
4797
|
};
|
|
4799
4798
|
const LinearRing$2 = LinearRing$1;
|
|
4800
|
-
let Point$6 = class Point2 extends SimpleGeometry
|
|
4799
|
+
let Point$6 = class Point2 extends SimpleGeometry {
|
|
4801
4800
|
/**
|
|
4802
4801
|
* @param {import("../coordinate.js").Coordinate} coordinates Coordinates.
|
|
4803
4802
|
* @param {import("./Geometry.js").GeometryLayout} [layout] Layout.
|
|
@@ -5282,7 +5281,7 @@ var __publicField = (obj, key, value) => {
|
|
|
5282
5281
|
}
|
|
5283
5282
|
return endss;
|
|
5284
5283
|
}
|
|
5285
|
-
let Polygon$6 = class Polygon2 extends SimpleGeometry
|
|
5284
|
+
let Polygon$6 = class Polygon2 extends SimpleGeometry {
|
|
5286
5285
|
/**
|
|
5287
5286
|
* @param {!Array<Array<import("../coordinate.js").Coordinate>>|!Array<number>} coordinates
|
|
5288
5287
|
* Array of linear rings that define the polygon. The first linear ring of the
|
|
@@ -18182,7 +18181,7 @@ var __publicField = (obj, key, value) => {
|
|
|
18182
18181
|
}
|
|
18183
18182
|
return length2;
|
|
18184
18183
|
}
|
|
18185
|
-
let LineString$1 = class LineString2 extends SimpleGeometry
|
|
18184
|
+
let LineString$1 = class LineString2 extends SimpleGeometry {
|
|
18186
18185
|
/**
|
|
18187
18186
|
* @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
|
|
18188
18187
|
* For internal use, flat coordinates in combination with `layout` are also accepted.
|
|
@@ -19780,7 +19779,7 @@ var __publicField = (obj, key, value) => {
|
|
|
19780
19779
|
}
|
|
19781
19780
|
return flatCenters;
|
|
19782
19781
|
}
|
|
19783
|
-
let Circle$6 = class Circle2 extends SimpleGeometry
|
|
19782
|
+
let Circle$6 = class Circle2 extends SimpleGeometry {
|
|
19784
19783
|
/**
|
|
19785
19784
|
* @param {!import("../coordinate.js").Coordinate} center Center.
|
|
19786
19785
|
* For internal use, flat coordinates in combination with `layout` and no
|
|
@@ -20292,7 +20291,7 @@ var __publicField = (obj, key, value) => {
|
|
|
20292
20291
|
return geometries.map((geometry) => geometry.clone());
|
|
20293
20292
|
}
|
|
20294
20293
|
const GeometryCollection$1 = GeometryCollection;
|
|
20295
|
-
let MultiLineString$1 = class MultiLineString2 extends SimpleGeometry
|
|
20294
|
+
let MultiLineString$1 = class MultiLineString2 extends SimpleGeometry {
|
|
20296
20295
|
/**
|
|
20297
20296
|
* @param {Array<Array<import("../coordinate.js").Coordinate>|LineString>|Array<number>} coordinates
|
|
20298
20297
|
* Coordinates or LineString geometries. (For internal use, flat coordinates in
|
|
@@ -20608,7 +20607,7 @@ var __publicField = (obj, key, value) => {
|
|
|
20608
20607
|
}
|
|
20609
20608
|
};
|
|
20610
20609
|
const MultiLineString$2 = MultiLineString$1;
|
|
20611
|
-
let MultiPoint$1 = class MultiPoint2 extends SimpleGeometry
|
|
20610
|
+
let MultiPoint$1 = class MultiPoint2 extends SimpleGeometry {
|
|
20612
20611
|
/**
|
|
20613
20612
|
* @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates.
|
|
20614
20613
|
* For internal use, flat coordinates in combination with `layout` are also accepted.
|
|
@@ -20783,7 +20782,7 @@ var __publicField = (obj, key, value) => {
|
|
|
20783
20782
|
}
|
|
20784
20783
|
};
|
|
20785
20784
|
const MultiPoint$2 = MultiPoint$1;
|
|
20786
|
-
let MultiPolygon$1 = class MultiPolygon2 extends SimpleGeometry
|
|
20785
|
+
let MultiPolygon$1 = class MultiPolygon2 extends SimpleGeometry {
|
|
20787
20786
|
/**
|
|
20788
20787
|
* @param {Array<Array<Array<import("../coordinate.js").Coordinate>>|Polygon>|Array<number>} coordinates Coordinates.
|
|
20789
20788
|
* For internal use, flat coordinates in combination with `layout` and `endss` are also accepted.
|
|
@@ -55186,7 +55185,6 @@ ${this.attributes_.map(
|
|
|
55186
55185
|
return abstract();
|
|
55187
55186
|
}
|
|
55188
55187
|
}
|
|
55189
|
-
const FeatureFormat$1 = FeatureFormat;
|
|
55190
55188
|
function transformGeometryWithOptions(geometry, write2, options) {
|
|
55191
55189
|
const featureProjection = options ? get$6(options.featureProjection) : null;
|
|
55192
55190
|
const dataProjection = options ? get$6(options.dataProjection) : null;
|
|
@@ -55299,7 +55297,7 @@ ${this.attributes_.map(
|
|
|
55299
55297
|
options
|
|
55300
55298
|
);
|
|
55301
55299
|
}
|
|
55302
|
-
class JSONFeature extends FeatureFormat
|
|
55300
|
+
class JSONFeature extends FeatureFormat {
|
|
55303
55301
|
constructor() {
|
|
55304
55302
|
super();
|
|
55305
55303
|
}
|
|
@@ -56236,7 +56234,7 @@ ${this.attributes_.map(
|
|
|
56236
56234
|
}
|
|
56237
56235
|
return document_;
|
|
56238
56236
|
}
|
|
56239
|
-
class XMLFeature extends FeatureFormat
|
|
56237
|
+
class XMLFeature extends FeatureFormat {
|
|
56240
56238
|
constructor() {
|
|
56241
56239
|
super();
|
|
56242
56240
|
this.xmlSerializer_ = getXMLSerializer();
|
|
@@ -58742,7 +58740,7 @@ ${this.attributes_.map(
|
|
|
58742
58740
|
GML.prototype.writeFeatures;
|
|
58743
58741
|
GML.prototype.writeFeaturesNode;
|
|
58744
58742
|
const GML$1 = GML;
|
|
58745
|
-
class TextFeature extends FeatureFormat
|
|
58743
|
+
class TextFeature extends FeatureFormat {
|
|
58746
58744
|
constructor() {
|
|
58747
58745
|
super();
|
|
58748
58746
|
}
|
|
@@ -62053,7 +62051,7 @@ ${this.attributes_.map(
|
|
|
62053
62051
|
}
|
|
62054
62052
|
return pos;
|
|
62055
62053
|
}
|
|
62056
|
-
class MVT extends FeatureFormat
|
|
62054
|
+
class MVT extends FeatureFormat {
|
|
62057
62055
|
/**
|
|
62058
62056
|
* @param {Options<FeatureType>} [options] Options.
|
|
62059
62057
|
*/
|
|
@@ -335067,24 +335065,24 @@ ${indentData}`);
|
|
|
335067
335065
|
key: 0,
|
|
335068
335066
|
class: "image-loading"
|
|
335069
335067
|
};
|
|
335070
|
-
const _hoisted_8$
|
|
335068
|
+
const _hoisted_8$g = {
|
|
335071
335069
|
key: 1,
|
|
335072
335070
|
class: "image-error"
|
|
335073
335071
|
};
|
|
335074
|
-
const _hoisted_9$
|
|
335072
|
+
const _hoisted_9$f = {
|
|
335075
335073
|
key: 2,
|
|
335076
335074
|
class: "image-navigation"
|
|
335077
335075
|
};
|
|
335078
|
-
const _hoisted_10$
|
|
335076
|
+
const _hoisted_10$f = {
|
|
335079
335077
|
key: 3,
|
|
335080
335078
|
class: "image-counter"
|
|
335081
335079
|
};
|
|
335082
|
-
const _hoisted_11$
|
|
335080
|
+
const _hoisted_11$d = {
|
|
335083
335081
|
key: 2,
|
|
335084
335082
|
class: "image-thumbnails"
|
|
335085
335083
|
};
|
|
335086
|
-
const _hoisted_12$
|
|
335087
|
-
const _hoisted_13$
|
|
335084
|
+
const _hoisted_12$b = ["onClick"];
|
|
335085
|
+
const _hoisted_13$a = ["src", "alt"];
|
|
335088
335086
|
const _hoisted_14$7 = {
|
|
335089
335087
|
key: 3,
|
|
335090
335088
|
class: "slideshow-controls"
|
|
@@ -335255,10 +335253,10 @@ ${indentData}`);
|
|
|
335255
335253
|
vue.createElementVNode("div", { class: "loading-spinner" }, null, -1),
|
|
335256
335254
|
vue.createElementVNode("span", null, "加载中...", -1)
|
|
335257
335255
|
])])) : vue.createCommentVNode("", true),
|
|
335258
|
-
imageError.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
335256
|
+
imageError.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$g, [..._cache[5] || (_cache[5] = [
|
|
335259
335257
|
vue.createElementVNode("span", null, "图片加载失败", -1)
|
|
335260
335258
|
])])) : vue.createCommentVNode("", true),
|
|
335261
|
-
imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$
|
|
335259
|
+
imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$f, [
|
|
335262
335260
|
vue.createVNode(vue.unref(elementPlus.ElButton), {
|
|
335263
335261
|
class: "nav-btn prev-btn",
|
|
335264
335262
|
disabled: currentIndex.value === 0,
|
|
@@ -335284,10 +335282,10 @@ ${indentData}`);
|
|
|
335284
335282
|
_: 1
|
|
335285
335283
|
}, 8, ["disabled"])
|
|
335286
335284
|
])) : vue.createCommentVNode("", true),
|
|
335287
|
-
imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$
|
|
335285
|
+
imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$f, vue.toDisplayString(currentIndex.value + 1) + " / " + vue.toDisplayString(imageList.value.length), 1)) : vue.createCommentVNode("", true)
|
|
335288
335286
|
])
|
|
335289
335287
|
]),
|
|
335290
|
-
_ctx.config.showThumbnails && imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$
|
|
335288
|
+
_ctx.config.showThumbnails && imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$d, [
|
|
335291
335289
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(imageList.value, (image2, index2) => {
|
|
335292
335290
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
335293
335291
|
key: index2,
|
|
@@ -335297,8 +335295,8 @@ ${indentData}`);
|
|
|
335297
335295
|
vue.createElementVNode("img", {
|
|
335298
335296
|
src: image2,
|
|
335299
335297
|
alt: `缩略图 ${index2 + 1}`
|
|
335300
|
-
}, null, 8, _hoisted_13$
|
|
335301
|
-
], 10, _hoisted_12$
|
|
335298
|
+
}, null, 8, _hoisted_13$a)
|
|
335299
|
+
], 10, _hoisted_12$b);
|
|
335302
335300
|
}), 128))
|
|
335303
335301
|
])) : vue.createCommentVNode("", true),
|
|
335304
335302
|
_ctx.config.slideshow && imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$7, [
|
|
@@ -335371,18 +335369,18 @@ ${indentData}`);
|
|
|
335371
335369
|
class: "data-stats"
|
|
335372
335370
|
};
|
|
335373
335371
|
const _hoisted_7$i = { key: 0 };
|
|
335374
|
-
const _hoisted_8$
|
|
335372
|
+
const _hoisted_8$f = {
|
|
335375
335373
|
key: 5,
|
|
335376
335374
|
class: "table-view"
|
|
335377
335375
|
};
|
|
335378
|
-
const _hoisted_9$
|
|
335379
|
-
const _hoisted_10$
|
|
335380
|
-
const _hoisted_11$
|
|
335381
|
-
const _hoisted_12$
|
|
335376
|
+
const _hoisted_9$e = { class: "table-container" };
|
|
335377
|
+
const _hoisted_10$e = { class: "data-table" };
|
|
335378
|
+
const _hoisted_11$c = ["onClick"];
|
|
335379
|
+
const _hoisted_12$a = {
|
|
335382
335380
|
key: 0,
|
|
335383
335381
|
class: "sort-indicator"
|
|
335384
335382
|
};
|
|
335385
|
-
const _hoisted_13$
|
|
335383
|
+
const _hoisted_13$9 = ["onClick"];
|
|
335386
335384
|
const _hoisted_14$6 = { key: 0 };
|
|
335387
335385
|
const _hoisted_15$5 = ["src", "alt"];
|
|
335388
335386
|
const _hoisted_16$5 = { key: 1 };
|
|
@@ -335639,9 +335637,9 @@ ${indentData}`);
|
|
|
335639
335637
|
vue.createElementVNode("span", null, "共 " + vue.toDisplayString(filteredData.value.length) + " 条记录", 1),
|
|
335640
335638
|
searchQuery.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$i, "(已过滤 " + vue.toDisplayString(arrayData.value.length - filteredData.value.length) + " 条)", 1)) : vue.createCommentVNode("", true)
|
|
335641
335639
|
])) : vue.createCommentVNode("", true),
|
|
335642
|
-
currentView.value === "table" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
335643
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
335644
|
-
vue.createElementVNode("table", _hoisted_10$
|
|
335640
|
+
currentView.value === "table" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$f, [
|
|
335641
|
+
vue.createElementVNode("div", _hoisted_9$e, [
|
|
335642
|
+
vue.createElementVNode("table", _hoisted_10$e, [
|
|
335645
335643
|
vue.createElementVNode("thead", null, [
|
|
335646
335644
|
vue.createElementVNode("tr", null, [
|
|
335647
335645
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayFields.value, (field) => {
|
|
@@ -335651,8 +335649,8 @@ ${indentData}`);
|
|
|
335651
335649
|
onClick: ($event) => handleSort(field.key)
|
|
335652
335650
|
}, [
|
|
335653
335651
|
vue.createTextVNode(vue.toDisplayString(field.label) + " ", 1),
|
|
335654
|
-
field.sortable && sortField.value === field.key ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12$
|
|
335655
|
-
], 10, _hoisted_11$
|
|
335652
|
+
field.sortable && sortField.value === field.key ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12$a, vue.toDisplayString(sortOrder.value === "asc" ? "↑" : "↓"), 1)) : vue.createCommentVNode("", true)
|
|
335653
|
+
], 10, _hoisted_11$c);
|
|
335656
335654
|
}), 128))
|
|
335657
335655
|
])
|
|
335658
335656
|
]),
|
|
@@ -335681,7 +335679,7 @@ ${indentData}`);
|
|
|
335681
335679
|
])) : field.type === "date" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_18$5, vue.toDisplayString(formatDate(getFieldValue(item, field.key || field.name))), 1)) : field.type === "number" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$5, vue.toDisplayString(formatNumber2(getFieldValue(item, field.key || field.name))), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_20$3, vue.toDisplayString(getFieldValue(item, field.key || field.name)), 1))
|
|
335682
335680
|
]);
|
|
335683
335681
|
}), 128))
|
|
335684
|
-
], 8, _hoisted_13$
|
|
335682
|
+
], 8, _hoisted_13$9);
|
|
335685
335683
|
}), 128))
|
|
335686
335684
|
])
|
|
335687
335685
|
])
|
|
@@ -336390,15 +336388,34 @@ ${indentData}`);
|
|
|
336390
336388
|
__publicField(this, "drawingManager", null);
|
|
336391
336389
|
__publicField(this, "featureHighlightManager", null);
|
|
336392
336390
|
__publicField(this, "popupManager", null);
|
|
336391
|
+
__publicField(this, "drawingEndListener", null);
|
|
336393
336392
|
// 状态管理
|
|
336394
336393
|
__publicField(this, "isCoordinatePicking", false);
|
|
336395
336394
|
__publicField(this, "coordinatePickCallback", null);
|
|
336396
336395
|
__publicField(this, "measurementType", null);
|
|
336397
336396
|
__publicField(this, "contextMenuCoordinate", [0, 0]);
|
|
336397
|
+
__publicField(this, "ignoreMapClickUntil", 0);
|
|
336398
336398
|
this.config = config;
|
|
336399
336399
|
this.eventBus = eventBus;
|
|
336400
336400
|
this.storage = storage2;
|
|
336401
336401
|
}
|
|
336402
|
+
markDrawingEndIgnoreWindow() {
|
|
336403
|
+
this.ignoreMapClickUntil = Date.now() + 300;
|
|
336404
|
+
}
|
|
336405
|
+
shouldIgnoreMapClick() {
|
|
336406
|
+
return Date.now() < this.ignoreMapClickUntil;
|
|
336407
|
+
}
|
|
336408
|
+
bindDrawingManagerEvents() {
|
|
336409
|
+
if (!this.drawingManager)
|
|
336410
|
+
return;
|
|
336411
|
+
if (this.drawingEndListener) {
|
|
336412
|
+
this.drawingManager.off("drawing-end", this.drawingEndListener);
|
|
336413
|
+
}
|
|
336414
|
+
this.drawingEndListener = () => {
|
|
336415
|
+
this.markDrawingEndIgnoreWindow();
|
|
336416
|
+
};
|
|
336417
|
+
this.drawingManager.on("drawing-end", this.drawingEndListener);
|
|
336418
|
+
}
|
|
336402
336419
|
/**
|
|
336403
336420
|
* 处理要素点击的popup显示
|
|
336404
336421
|
*/
|
|
@@ -336693,6 +336710,7 @@ ${indentData}`);
|
|
|
336693
336710
|
this.featureHighlightManager = new FeatureHighlightManager(this.map);
|
|
336694
336711
|
this.markerAdapter = new MarkerDrawingAdapter(this.map);
|
|
336695
336712
|
this.drawingManager = new DrawingManager({ map: this.map });
|
|
336713
|
+
this.bindDrawingManagerEvents();
|
|
336696
336714
|
this.measurementTool = new MeasurementTool(this.map, this.storage);
|
|
336697
336715
|
const initialCenter = this.config.center || [116.404, 39.915];
|
|
336698
336716
|
const initialZoom = this.config.zoom || 10;
|
|
@@ -336788,6 +336806,9 @@ ${indentData}`);
|
|
|
336788
336806
|
}
|
|
336789
336807
|
return;
|
|
336790
336808
|
}
|
|
336809
|
+
if (this.shouldIgnoreMapClick()) {
|
|
336810
|
+
return;
|
|
336811
|
+
}
|
|
336791
336812
|
const featuresAtPixel = [];
|
|
336792
336813
|
this.map.forEachFeatureAtPixel(pixel, (feature, layer2) => {
|
|
336793
336814
|
if (layer2 && feature) {
|
|
@@ -337278,6 +337299,9 @@ ${indentData}`);
|
|
|
337278
337299
|
const view = this.map.getView();
|
|
337279
337300
|
const projection2 = view.getProjection().getCode();
|
|
337280
337301
|
const lonLatCoordinate = projection2 === "EPSG:4326" || projection2 === "EPSG:4490" ? coordinate : toLonLat(coordinate);
|
|
337302
|
+
if (this.shouldIgnoreMapClick()) {
|
|
337303
|
+
return;
|
|
337304
|
+
}
|
|
337281
337305
|
const features2 = this.map.getFeaturesAtPixel(pixel);
|
|
337282
337306
|
if (features2 && features2.length > 0) {
|
|
337283
337307
|
features2.sort((a3, b10) => {
|
|
@@ -337558,6 +337582,9 @@ ${indentData}`);
|
|
|
337558
337582
|
* 销毁地图管理器
|
|
337559
337583
|
*/
|
|
337560
337584
|
destroy() {
|
|
337585
|
+
if (this.drawingManager && this.drawingEndListener) {
|
|
337586
|
+
this.drawingManager.off("drawing-end", this.drawingEndListener);
|
|
337587
|
+
}
|
|
337561
337588
|
if (this.map) {
|
|
337562
337589
|
this.map.setTarget(void 0);
|
|
337563
337590
|
}
|
|
@@ -337568,6 +337595,7 @@ ${indentData}`);
|
|
|
337568
337595
|
this.measurementTool = null;
|
|
337569
337596
|
this.mapOperationTool = null;
|
|
337570
337597
|
this.drawingManager = null;
|
|
337598
|
+
this.drawingEndListener = null;
|
|
337571
337599
|
this.eventCallbacks = {};
|
|
337572
337600
|
this.map = null;
|
|
337573
337601
|
}
|
|
@@ -339149,18 +339177,18 @@ ${indentData}`);
|
|
|
339149
339177
|
const _hoisted_5$q = ["onClick"];
|
|
339150
339178
|
const _hoisted_6$k = { class: "item-content" };
|
|
339151
339179
|
const _hoisted_7$h = { class: "item-name" };
|
|
339152
|
-
const _hoisted_8$
|
|
339153
|
-
const _hoisted_9$
|
|
339180
|
+
const _hoisted_8$e = { class: "item-address" };
|
|
339181
|
+
const _hoisted_9$d = {
|
|
339154
339182
|
key: 1,
|
|
339155
339183
|
class: "search-section"
|
|
339156
339184
|
};
|
|
339157
|
-
const _hoisted_10$
|
|
339185
|
+
const _hoisted_10$d = {
|
|
339158
339186
|
key: 0,
|
|
339159
339187
|
class: "section-title"
|
|
339160
339188
|
};
|
|
339161
|
-
const _hoisted_11$
|
|
339162
|
-
const _hoisted_12$
|
|
339163
|
-
const _hoisted_13$
|
|
339189
|
+
const _hoisted_11$b = { class: "result-count" };
|
|
339190
|
+
const _hoisted_12$9 = ["onClick"];
|
|
339191
|
+
const _hoisted_13$8 = { class: "item-content" };
|
|
339164
339192
|
const _hoisted_14$5 = ["innerHTML"];
|
|
339165
339193
|
const _hoisted_15$4 = ["innerHTML"];
|
|
339166
339194
|
const _hoisted_16$4 = {
|
|
@@ -339650,20 +339678,20 @@ ${indentData}`);
|
|
|
339650
339678
|
}),
|
|
339651
339679
|
vue.createElementVNode("div", _hoisted_6$k, [
|
|
339652
339680
|
vue.createElementVNode("div", _hoisted_7$h, vue.toDisplayString(item.name), 1),
|
|
339653
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
339681
|
+
vue.createElementVNode("div", _hoisted_8$e, vue.toDisplayString(item.address), 1)
|
|
339654
339682
|
])
|
|
339655
339683
|
], 10, _hoisted_5$q)
|
|
339656
339684
|
]);
|
|
339657
339685
|
}), 128))
|
|
339658
339686
|
])) : vue.createCommentVNode("", true),
|
|
339659
|
-
searchResults.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$
|
|
339687
|
+
searchResults.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$d, [
|
|
339660
339688
|
vue.renderSlot(_ctx.$slots, "results-title", {
|
|
339661
339689
|
searchQuery: searchQuery.value,
|
|
339662
339690
|
resultsCount: searchResults.value.length
|
|
339663
339691
|
}, () => [
|
|
339664
|
-
searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$
|
|
339692
|
+
searchQuery.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$d, [
|
|
339665
339693
|
vue.createElementVNode("span", null, vue.toDisplayString(resultsTitleText.value), 1),
|
|
339666
|
-
vue.createElementVNode("span", _hoisted_11$
|
|
339694
|
+
vue.createElementVNode("span", _hoisted_11$b, "(" + vue.toDisplayString(searchResults.value.length) + ")", 1)
|
|
339667
339695
|
])) : vue.createCommentVNode("", true)
|
|
339668
339696
|
]),
|
|
339669
339697
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayResults.value, (result, index2) => {
|
|
@@ -339688,7 +339716,7 @@ ${indentData}`);
|
|
|
339688
339716
|
]),
|
|
339689
339717
|
_: 1
|
|
339690
339718
|
}),
|
|
339691
|
-
vue.createElementVNode("div", _hoisted_13$
|
|
339719
|
+
vue.createElementVNode("div", _hoisted_13$8, [
|
|
339692
339720
|
vue.createElementVNode("div", {
|
|
339693
339721
|
class: "item-name",
|
|
339694
339722
|
innerHTML: highlightText(result.name, searchQuery.value)
|
|
@@ -339700,7 +339728,7 @@ ${indentData}`);
|
|
|
339700
339728
|
result.type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$4, vue.toDisplayString(result.type), 1)) : vue.createCommentVNode("", true)
|
|
339701
339729
|
]),
|
|
339702
339730
|
result.confidence ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$4, vue.toDisplayString(Math.round(result.confidence * 100)) + "% ", 1)) : vue.createCommentVNode("", true)
|
|
339703
|
-
], 10, _hoisted_12$
|
|
339731
|
+
], 10, _hoisted_12$9)
|
|
339704
339732
|
]);
|
|
339705
339733
|
}), 128))
|
|
339706
339734
|
])) : vue.createCommentVNode("", true),
|
|
@@ -339877,6 +339905,24 @@ ${indentData}`);
|
|
|
339877
339905
|
key: 6,
|
|
339878
339906
|
class: "control-section"
|
|
339879
339907
|
};
|
|
339908
|
+
const _hoisted_8$d = { class: "drawing-menu-panel-content" };
|
|
339909
|
+
const _hoisted_9$c = { class: "drawing-tool-list" };
|
|
339910
|
+
const _hoisted_10$c = {
|
|
339911
|
+
key: 0,
|
|
339912
|
+
class: "drawing-menu-divider"
|
|
339913
|
+
};
|
|
339914
|
+
const _hoisted_11$a = {
|
|
339915
|
+
key: 1,
|
|
339916
|
+
class: "drawing-toggle-row"
|
|
339917
|
+
};
|
|
339918
|
+
const _hoisted_12$8 = {
|
|
339919
|
+
key: 7,
|
|
339920
|
+
class: "control-divider"
|
|
339921
|
+
};
|
|
339922
|
+
const _hoisted_13$7 = {
|
|
339923
|
+
key: 8,
|
|
339924
|
+
class: "control-section"
|
|
339925
|
+
};
|
|
339880
339926
|
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
339881
339927
|
__name: "OlControlPanel",
|
|
339882
339928
|
props: {
|
|
@@ -339889,8 +339935,10 @@ ${indentData}`);
|
|
|
339889
339935
|
bottomOffset: {},
|
|
339890
339936
|
viewBookmarks: {}
|
|
339891
339937
|
},
|
|
339892
|
-
|
|
339938
|
+
emits: ["drawing-complete", "drawing-clear"],
|
|
339939
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
339893
339940
|
const props = __props;
|
|
339941
|
+
const emit = __emit;
|
|
339894
339942
|
const map2 = vue.inject("map");
|
|
339895
339943
|
const mapManager = vue.inject("mapManager");
|
|
339896
339944
|
const overviewMapUtil = createOverviewMapUtil();
|
|
@@ -339900,7 +339948,37 @@ ${indentData}`);
|
|
|
339900
339948
|
const currentZoom = vue.ref(10);
|
|
339901
339949
|
const minZoom = vue.ref(3);
|
|
339902
339950
|
const maxZoom = vue.ref(18);
|
|
339951
|
+
const isDrawingMenuOpen = vue.ref(false);
|
|
339952
|
+
const continuousDrawing = vue.ref(false);
|
|
339953
|
+
const activeDrawingMode = vue.ref("none");
|
|
339954
|
+
const DEFAULT_DRAWING_TOOLS = [
|
|
339955
|
+
"rectangle",
|
|
339956
|
+
"polygon",
|
|
339957
|
+
"circle",
|
|
339958
|
+
"line",
|
|
339959
|
+
"point"
|
|
339960
|
+
];
|
|
339961
|
+
const drawingToolLabels = {
|
|
339962
|
+
point: "绘制点",
|
|
339963
|
+
line: "绘制线",
|
|
339964
|
+
polygon: "绘制多边形",
|
|
339965
|
+
circle: "绘制圆形",
|
|
339966
|
+
rectangle: "绘制矩形"
|
|
339967
|
+
};
|
|
339968
|
+
const geoJsonFormat = new GeoJSON$2();
|
|
339969
|
+
let boundDrawingManager = null;
|
|
339970
|
+
let boundDrawingEndHandler = null;
|
|
339971
|
+
let boundModeChangeHandler = null;
|
|
339903
339972
|
const currentMap = vue.computed(() => map2 == null ? void 0 : map2.value);
|
|
339973
|
+
const popoverPlacement = vue.computed(() => {
|
|
339974
|
+
const isRight = props.position.includes("right");
|
|
339975
|
+
const isBottom = props.position.includes("bottom");
|
|
339976
|
+
if (props.direction === "vertical") {
|
|
339977
|
+
return isRight ? "left" : "right";
|
|
339978
|
+
} else {
|
|
339979
|
+
return isBottom ? "top" : "bottom";
|
|
339980
|
+
}
|
|
339981
|
+
});
|
|
339904
339982
|
const positionClasses = vue.computed(() => {
|
|
339905
339983
|
const basePositions = {
|
|
339906
339984
|
"top-left": "top-4 left-4",
|
|
@@ -339984,10 +340062,55 @@ ${indentData}`);
|
|
|
339984
340062
|
const tools = props.config.tools;
|
|
339985
340063
|
return !!((tools == null ? void 0 : tools.viewBookmarks) || props.config.viewBookmarks);
|
|
339986
340064
|
});
|
|
340065
|
+
const drawingControlConfig = vue.computed(() => {
|
|
340066
|
+
var _a2;
|
|
340067
|
+
const rawConfig = ((_a2 = props.config.tools) == null ? void 0 : _a2.drawing) ?? props.config.drawing;
|
|
340068
|
+
if (rawConfig === false) {
|
|
340069
|
+
return {
|
|
340070
|
+
enabled: false,
|
|
340071
|
+
trigger: "hover",
|
|
340072
|
+
continuous: false,
|
|
340073
|
+
showContinuousToggle: true,
|
|
340074
|
+
tools: DEFAULT_DRAWING_TOOLS,
|
|
340075
|
+
onDrawEnd: void 0
|
|
340076
|
+
};
|
|
340077
|
+
}
|
|
340078
|
+
if (rawConfig === true || rawConfig === void 0) {
|
|
340079
|
+
return {
|
|
340080
|
+
enabled: rawConfig === true,
|
|
340081
|
+
trigger: "hover",
|
|
340082
|
+
continuous: false,
|
|
340083
|
+
showContinuousToggle: true,
|
|
340084
|
+
tools: DEFAULT_DRAWING_TOOLS,
|
|
340085
|
+
onDrawEnd: void 0
|
|
340086
|
+
};
|
|
340087
|
+
}
|
|
340088
|
+
const config = rawConfig;
|
|
340089
|
+
const tools = (config.tools || DEFAULT_DRAWING_TOOLS).filter(
|
|
340090
|
+
(tool) => DEFAULT_DRAWING_TOOLS.includes(tool)
|
|
340091
|
+
);
|
|
340092
|
+
return {
|
|
340093
|
+
enabled: config.enabled !== false,
|
|
340094
|
+
trigger: config.trigger || "hover",
|
|
340095
|
+
continuous: config.continuous ?? false,
|
|
340096
|
+
showContinuousToggle: config.showContinuousToggle !== false,
|
|
340097
|
+
tools: tools.length > 0 ? Array.from(new Set(tools)) : DEFAULT_DRAWING_TOOLS,
|
|
340098
|
+
onDrawEnd: config.onDrawEnd
|
|
340099
|
+
};
|
|
340100
|
+
});
|
|
340101
|
+
const isDrawingEnabled = vue.computed(() => drawingControlConfig.value.enabled);
|
|
340102
|
+
const isDrawingActive = vue.computed(() => activeDrawingMode.value !== "none");
|
|
339987
340103
|
const hasOtherTools = vue.computed(() => {
|
|
339988
340104
|
const tools = props.config.tools;
|
|
339989
340105
|
return !!((tools == null ? void 0 : tools.fullScreen) || props.config.fullScreen || (tools == null ? void 0 : tools.location) || props.config.location || isLayerPanelEnabled.value || isViewBookmarksEnabled.value || (tools == null ? void 0 : tools.overviewMap) || props.config.overviewMap || (tools == null ? void 0 : tools.zoomToExtent) || props.config.zoomToExtent);
|
|
339990
340106
|
});
|
|
340107
|
+
vue.watch(
|
|
340108
|
+
drawingControlConfig,
|
|
340109
|
+
(config) => {
|
|
340110
|
+
continuousDrawing.value = config.continuous;
|
|
340111
|
+
},
|
|
340112
|
+
{ immediate: true }
|
|
340113
|
+
);
|
|
339991
340114
|
const initOverviewMap = () => {
|
|
339992
340115
|
const tools = props.config.tools || {};
|
|
339993
340116
|
const rawConfig = tools.overviewMap ?? props.config.overviewMap;
|
|
@@ -340155,8 +340278,90 @@ ${indentData}`);
|
|
|
340155
340278
|
const clearAllDrawnContent = () => {
|
|
340156
340279
|
if (mapManager == null ? void 0 : mapManager.value) {
|
|
340157
340280
|
mapManager.value.clearAll();
|
|
340281
|
+
emit("drawing-clear", {
|
|
340282
|
+
source: "controls",
|
|
340283
|
+
cleared: true,
|
|
340284
|
+
timestamp: Date.now()
|
|
340285
|
+
});
|
|
340158
340286
|
}
|
|
340159
340287
|
};
|
|
340288
|
+
const buildDrawingResult = (drawing) => {
|
|
340289
|
+
const drawingJson = drawing.toJSON();
|
|
340290
|
+
const feature = drawing.getFeature();
|
|
340291
|
+
let geojson = null;
|
|
340292
|
+
if (feature && currentMap.value) {
|
|
340293
|
+
try {
|
|
340294
|
+
geojson = geoJsonFormat.writeFeatureObject(feature, {
|
|
340295
|
+
featureProjection: currentMap.value.getView().getProjection(),
|
|
340296
|
+
dataProjection: "EPSG:4326"
|
|
340297
|
+
});
|
|
340298
|
+
} catch (error2) {
|
|
340299
|
+
console.warn("绘制结果转 GeoJSON 失败:", error2);
|
|
340300
|
+
}
|
|
340301
|
+
}
|
|
340302
|
+
return {
|
|
340303
|
+
id: drawing.getId(),
|
|
340304
|
+
type: drawing.getType(),
|
|
340305
|
+
name: drawing.getName(),
|
|
340306
|
+
coordinates: drawingJson.coordinates,
|
|
340307
|
+
properties: drawingJson.properties || {},
|
|
340308
|
+
style: drawingJson.style || {},
|
|
340309
|
+
config: drawingJson.config || {},
|
|
340310
|
+
geojson,
|
|
340311
|
+
drawing,
|
|
340312
|
+
feature,
|
|
340313
|
+
source: "controls"
|
|
340314
|
+
};
|
|
340315
|
+
};
|
|
340316
|
+
const cleanupDrawingListeners = () => {
|
|
340317
|
+
if (boundDrawingManager && boundDrawingEndHandler && boundModeChangeHandler) {
|
|
340318
|
+
boundDrawingManager.off("drawing-end", boundDrawingEndHandler);
|
|
340319
|
+
boundDrawingManager.off("mode-change", boundModeChangeHandler);
|
|
340320
|
+
}
|
|
340321
|
+
boundDrawingManager = null;
|
|
340322
|
+
boundDrawingEndHandler = null;
|
|
340323
|
+
boundModeChangeHandler = null;
|
|
340324
|
+
activeDrawingMode.value = "none";
|
|
340325
|
+
};
|
|
340326
|
+
const bindDrawingListeners = (drawingManager) => {
|
|
340327
|
+
cleanupDrawingListeners();
|
|
340328
|
+
if (!drawingManager)
|
|
340329
|
+
return;
|
|
340330
|
+
boundDrawingManager = drawingManager;
|
|
340331
|
+
activeDrawingMode.value = drawingManager.getMode();
|
|
340332
|
+
boundDrawingEndHandler = (drawing) => {
|
|
340333
|
+
var _a2, _b2;
|
|
340334
|
+
const result = buildDrawingResult(drawing);
|
|
340335
|
+
(_b2 = (_a2 = drawingControlConfig.value).onDrawEnd) == null ? void 0 : _b2.call(_a2, result);
|
|
340336
|
+
emit("drawing-complete", result);
|
|
340337
|
+
};
|
|
340338
|
+
boundModeChangeHandler = (mode) => {
|
|
340339
|
+
activeDrawingMode.value = mode;
|
|
340340
|
+
};
|
|
340341
|
+
drawingManager.on("drawing-end", boundDrawingEndHandler);
|
|
340342
|
+
drawingManager.on("mode-change", boundModeChangeHandler);
|
|
340343
|
+
};
|
|
340344
|
+
const startQuickDrawing = (tool) => {
|
|
340345
|
+
var _a2;
|
|
340346
|
+
const drawingManager = (_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager();
|
|
340347
|
+
if (!drawingManager) {
|
|
340348
|
+
console.warn("DrawingManager not found");
|
|
340349
|
+
return;
|
|
340350
|
+
}
|
|
340351
|
+
drawingManager.setContinuousDrawing(continuousDrawing.value);
|
|
340352
|
+
drawingManager.setMode(tool, {
|
|
340353
|
+
allowContinuousDrawing: continuousDrawing.value
|
|
340354
|
+
});
|
|
340355
|
+
isDrawingMenuOpen.value = false;
|
|
340356
|
+
};
|
|
340357
|
+
const stopQuickDrawing = () => {
|
|
340358
|
+
var _a2;
|
|
340359
|
+
const drawingManager = (_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager();
|
|
340360
|
+
if (!drawingManager)
|
|
340361
|
+
return;
|
|
340362
|
+
drawingManager.setMode("none");
|
|
340363
|
+
isDrawingMenuOpen.value = false;
|
|
340364
|
+
};
|
|
340160
340365
|
const zoomToExtent = () => {
|
|
340161
340366
|
var _a2;
|
|
340162
340367
|
if (currentMap.value) {
|
|
@@ -340200,6 +340405,16 @@ ${indentData}`);
|
|
|
340200
340405
|
},
|
|
340201
340406
|
{ immediate: true }
|
|
340202
340407
|
);
|
|
340408
|
+
vue.watch(
|
|
340409
|
+
() => {
|
|
340410
|
+
var _a2;
|
|
340411
|
+
return ((_a2 = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a2.getDrawingManager()) || null;
|
|
340412
|
+
},
|
|
340413
|
+
(drawingManager) => {
|
|
340414
|
+
bindDrawingListeners(drawingManager);
|
|
340415
|
+
},
|
|
340416
|
+
{ immediate: true }
|
|
340417
|
+
);
|
|
340203
340418
|
const handleFullscreenChange = () => {
|
|
340204
340419
|
isFullscreen.value = !!document.fullscreenElement;
|
|
340205
340420
|
};
|
|
@@ -340211,6 +340426,7 @@ ${indentData}`);
|
|
|
340211
340426
|
var _a2;
|
|
340212
340427
|
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
340213
340428
|
overviewMapUtil.destroy();
|
|
340429
|
+
cleanupDrawingListeners();
|
|
340214
340430
|
if (currentMap.value) {
|
|
340215
340431
|
currentMap.value.un("moveend", updateScale);
|
|
340216
340432
|
(_a2 = currentMap.value.getTargetElement()) == null ? void 0 : _a2.removeEventListener("mousemove", updateMousePosition);
|
|
@@ -340241,7 +340457,7 @@ ${indentData}`);
|
|
|
340241
340457
|
isMinZoom
|
|
340242
340458
|
});
|
|
340243
340459
|
return (_ctx, _cache) => {
|
|
340244
|
-
var _a2, _b2, _c2, _d, _e2, _f, _g, _h, _i2, _j, _k, _l, _m, _n2, _o2, _p;
|
|
340460
|
+
var _a2, _b2, _c2, _d, _e2, _f, _g, _h, _i2, _j, _k, _l, _m, _n2, _o2, _p, _q, _r2;
|
|
340245
340461
|
const _component_el_slider = vue.resolveComponent("el-slider");
|
|
340246
340462
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
340247
340463
|
class: vue.normalizeClass(["mapcontrols absolute z-1 pointer-events-none select-none animate-fade-in", positionClasses.value]),
|
|
@@ -340480,8 +340696,119 @@ ${indentData}`);
|
|
|
340480
340696
|
_: 1
|
|
340481
340697
|
}, 8, ["title"])) : vue.createCommentVNode("", true)
|
|
340482
340698
|
])) : vue.createCommentVNode("", true),
|
|
340483
|
-
|
|
340484
|
-
|
|
340699
|
+
isDrawingEnabled.value && (hasOtherTools.value || ((_m = _ctx.config.tools) == null ? void 0 : _m.zoom) || _ctx.config.zoom || ((_n2 = _ctx.config.tools) == null ? void 0 : _n2.rotate) || _ctx.config.rotate) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$j)) : vue.createCommentVNode("", true),
|
|
340700
|
+
isDrawingEnabled.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$g, [
|
|
340701
|
+
vue.createVNode(vue.unref(elementPlus.ElPopover), {
|
|
340702
|
+
placement: popoverPlacement.value,
|
|
340703
|
+
trigger: drawingControlConfig.value.trigger === "hover" ? "hover" : "click",
|
|
340704
|
+
visible: isDrawingMenuOpen.value,
|
|
340705
|
+
"onUpdate:visible": _cache[2] || (_cache[2] = ($event) => isDrawingMenuOpen.value = $event),
|
|
340706
|
+
width: 180,
|
|
340707
|
+
"popper-class": "drawing-menu-popover",
|
|
340708
|
+
disabled: !isDrawingEnabled.value
|
|
340709
|
+
}, {
|
|
340710
|
+
reference: vue.withCtx(() => [
|
|
340711
|
+
vue.createVNode(vue.unref(elementPlus.ElButton), {
|
|
340712
|
+
class: vue.normalizeClass(["control-btn", { "is-active": isDrawingMenuOpen.value || isDrawingActive.value }]),
|
|
340713
|
+
title: "快捷绘制",
|
|
340714
|
+
size: "small",
|
|
340715
|
+
text: ""
|
|
340716
|
+
}, {
|
|
340717
|
+
default: vue.withCtx(() => [
|
|
340718
|
+
vue.createVNode(vue.unref(elementPlus.ElIcon), null, {
|
|
340719
|
+
default: vue.withCtx(() => [
|
|
340720
|
+
vue.createVNode(vue.unref(iconsVue.EditPen))
|
|
340721
|
+
]),
|
|
340722
|
+
_: 1
|
|
340723
|
+
})
|
|
340724
|
+
]),
|
|
340725
|
+
_: 1
|
|
340726
|
+
}, 8, ["class"])
|
|
340727
|
+
]),
|
|
340728
|
+
default: vue.withCtx(() => [
|
|
340729
|
+
vue.createElementVNode("div", _hoisted_8$d, [
|
|
340730
|
+
_cache[5] || (_cache[5] = vue.createElementVNode("div", { class: "drawing-menu-title" }, "快捷绘制", -1)),
|
|
340731
|
+
vue.createElementVNode("div", _hoisted_9$c, [
|
|
340732
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(drawingControlConfig.value.tools, (tool) => {
|
|
340733
|
+
return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElTooltip), {
|
|
340734
|
+
key: tool,
|
|
340735
|
+
content: drawingToolLabels[tool],
|
|
340736
|
+
placement: "top",
|
|
340737
|
+
"show-after": 200
|
|
340738
|
+
}, {
|
|
340739
|
+
default: vue.withCtx(() => [
|
|
340740
|
+
vue.createVNode(vue.unref(elementPlus.ElButton), {
|
|
340741
|
+
size: "small",
|
|
340742
|
+
text: "",
|
|
340743
|
+
class: vue.normalizeClass(["drawing-tool-btn", { "is-active": activeDrawingMode.value === tool }]),
|
|
340744
|
+
onClick: ($event) => startQuickDrawing(tool)
|
|
340745
|
+
}, {
|
|
340746
|
+
default: vue.withCtx(() => [
|
|
340747
|
+
tool === "point" ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), { key: 0 }, {
|
|
340748
|
+
default: vue.withCtx(() => [
|
|
340749
|
+
vue.createVNode(vue.unref(iconsVue.Location))
|
|
340750
|
+
]),
|
|
340751
|
+
_: 1
|
|
340752
|
+
})) : tool === "line" ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), { key: 1 }, {
|
|
340753
|
+
default: vue.withCtx(() => [
|
|
340754
|
+
vue.createVNode(vue.unref(iconsVue.Minus))
|
|
340755
|
+
]),
|
|
340756
|
+
_: 1
|
|
340757
|
+
})) : tool === "polygon" ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), { key: 2 }, {
|
|
340758
|
+
default: vue.withCtx(() => [
|
|
340759
|
+
vue.createVNode(vue.unref(iconsVue.Share))
|
|
340760
|
+
]),
|
|
340761
|
+
_: 1
|
|
340762
|
+
})) : tool === "circle" ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), { key: 3 }, {
|
|
340763
|
+
default: vue.withCtx(() => [
|
|
340764
|
+
vue.createVNode(vue.unref(iconsVue.CircleCheck))
|
|
340765
|
+
]),
|
|
340766
|
+
_: 1
|
|
340767
|
+
})) : tool === "rectangle" ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElIcon), { key: 4 }, {
|
|
340768
|
+
default: vue.withCtx(() => [
|
|
340769
|
+
vue.createVNode(vue.unref(iconsVue.FullScreen))
|
|
340770
|
+
]),
|
|
340771
|
+
_: 1
|
|
340772
|
+
})) : vue.createCommentVNode("", true)
|
|
340773
|
+
]),
|
|
340774
|
+
_: 2
|
|
340775
|
+
}, 1032, ["class", "onClick"])
|
|
340776
|
+
]),
|
|
340777
|
+
_: 2
|
|
340778
|
+
}, 1032, ["content"]);
|
|
340779
|
+
}), 128))
|
|
340780
|
+
]),
|
|
340781
|
+
drawingControlConfig.value.showContinuousToggle || isDrawingActive.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$c)) : vue.createCommentVNode("", true),
|
|
340782
|
+
drawingControlConfig.value.showContinuousToggle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$a, [
|
|
340783
|
+
vue.createVNode(vue.unref(elementPlus.ElCheckbox), {
|
|
340784
|
+
modelValue: continuousDrawing.value,
|
|
340785
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => continuousDrawing.value = $event)
|
|
340786
|
+
}, {
|
|
340787
|
+
default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
|
|
340788
|
+
vue.createTextVNode(" 是否连续绘制 ", -1)
|
|
340789
|
+
])]),
|
|
340790
|
+
_: 1
|
|
340791
|
+
}, 8, ["modelValue"])
|
|
340792
|
+
])) : vue.createCommentVNode("", true),
|
|
340793
|
+
isDrawingActive.value ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElButton), {
|
|
340794
|
+
key: 2,
|
|
340795
|
+
size: "small",
|
|
340796
|
+
text: "",
|
|
340797
|
+
class: "drawing-stop-btn",
|
|
340798
|
+
onClick: stopQuickDrawing
|
|
340799
|
+
}, {
|
|
340800
|
+
default: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
|
|
340801
|
+
vue.createTextVNode(" 停止绘制 ", -1)
|
|
340802
|
+
])]),
|
|
340803
|
+
_: 1
|
|
340804
|
+
})) : vue.createCommentVNode("", true)
|
|
340805
|
+
])
|
|
340806
|
+
]),
|
|
340807
|
+
_: 1
|
|
340808
|
+
}, 8, ["placement", "trigger", "visible", "disabled"])
|
|
340809
|
+
])) : vue.createCommentVNode("", true),
|
|
340810
|
+
(((_o2 = _ctx.config.tools) == null ? void 0 : _o2.clearAll) || _ctx.config.clearAll) && (hasOtherTools.value || isDrawingEnabled.value || ((_p = _ctx.config.tools) == null ? void 0 : _p.zoom) || _ctx.config.zoom || ((_q = _ctx.config.tools) == null ? void 0 : _q.rotate) || _ctx.config.rotate) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$8)) : vue.createCommentVNode("", true),
|
|
340811
|
+
((_r2 = _ctx.config.tools) == null ? void 0 : _r2.clearAll) || _ctx.config.clearAll ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13$7, [
|
|
340485
340812
|
vue.createVNode(vue.unref(elementPlus.ElButton), {
|
|
340486
340813
|
class: "control-btn",
|
|
340487
340814
|
title: "清空绘制内容",
|
|
@@ -340505,8 +340832,8 @@ ${indentData}`);
|
|
|
340505
340832
|
};
|
|
340506
340833
|
}
|
|
340507
340834
|
});
|
|
340508
|
-
const
|
|
340509
|
-
const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-
|
|
340835
|
+
const OlControlPanel_vue_vue_type_style_index_0_scoped_2ee216d4_lang = "";
|
|
340836
|
+
const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-2ee216d4"]]);
|
|
340510
340837
|
const _hoisted_1$u = {
|
|
340511
340838
|
key: 0,
|
|
340512
340839
|
class: "ol-legend-header"
|
|
@@ -365743,7 +366070,7 @@ ${indentData}`);
|
|
|
365743
366070
|
popupConfig: {},
|
|
365744
366071
|
enableGeolocation: { type: Boolean, default: true }
|
|
365745
366072
|
},
|
|
365746
|
-
emits: ["map-ready", "map-click", "map-dblclick", "map-contextmenu", "map-move", "zoom-change", "feature-click", "tooltip-show", "tooltip-hide", "layer-change", "measurement-change", "measurement-start", "measurement-end", "measurement-result", "context-menu", "bookmark-action", "marker-action", "tool-action", "search", "search-select", "search-clear", "popup-show", "popup-hide", "popup-close"],
|
|
366073
|
+
emits: ["map-ready", "map-click", "map-dblclick", "map-contextmenu", "map-move", "zoom-change", "feature-click", "tooltip-show", "tooltip-hide", "layer-change", "measurement-change", "measurement-start", "measurement-end", "measurement-result", "context-menu", "bookmark-action", "marker-action", "tool-action", "drawing-complete", "drawing-clear", "search", "search-select", "search-clear", "popup-show", "popup-hide", "popup-close"],
|
|
365747
366074
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
365748
366075
|
const currentLegends = vue.ref([]);
|
|
365749
366076
|
const currentLayers = vue.ref([]);
|
|
@@ -366605,6 +366932,12 @@ ${indentData}`);
|
|
|
366605
366932
|
break;
|
|
366606
366933
|
}
|
|
366607
366934
|
};
|
|
366935
|
+
const onDrawingComplete = (result) => {
|
|
366936
|
+
emit("drawing-complete", result);
|
|
366937
|
+
};
|
|
366938
|
+
const onDrawingClear = (event) => {
|
|
366939
|
+
emit("drawing-clear", event);
|
|
366940
|
+
};
|
|
366608
366941
|
const onPrintAction = (data2) => {
|
|
366609
366942
|
console.log("打印操作:", data2);
|
|
366610
366943
|
switch (data2.action) {
|
|
@@ -367291,7 +367624,9 @@ ${indentData}`);
|
|
|
367291
367624
|
"right-offset": finalControlsConfig.value.rightOffset,
|
|
367292
367625
|
"top-offset": finalControlsConfig.value.topOffset,
|
|
367293
367626
|
"bottom-offset": finalControlsConfig.value.bottomOffset,
|
|
367294
|
-
"view-bookmarks": props.viewBookmarks
|
|
367627
|
+
"view-bookmarks": props.viewBookmarks,
|
|
367628
|
+
onDrawingComplete,
|
|
367629
|
+
onDrawingClear
|
|
367295
367630
|
}, {
|
|
367296
367631
|
custom: vue.withCtx(({ controls }) => [
|
|
367297
367632
|
vue.renderSlot(_ctx.$slots, "controls", {
|
|
@@ -367428,8 +367763,8 @@ ${indentData}`);
|
|
|
367428
367763
|
};
|
|
367429
367764
|
}
|
|
367430
367765
|
});
|
|
367431
|
-
const
|
|
367432
|
-
const OlMap = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-
|
|
367766
|
+
const OlMap_vue_vue_type_style_index_0_scoped_88e42f18_lang = "";
|
|
367767
|
+
const OlMap = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-88e42f18"]]);
|
|
367433
367768
|
const ol = "";
|
|
367434
367769
|
const Property$1 = {
|
|
367435
367770
|
ACCURACY: "accuracy",
|