potato-map3d-ui2 0.0.10 → 0.0.11
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/dist/map3d-ui2.es.js +246 -22
- package/dist/map3d-ui2.umd.js +245 -21
- package/dist/style.css +70 -0
- package/package.json +1 -1
package/dist/map3d-ui2.es.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
import { defineComponent, toRefs, onMounted, openBlock, createElementBlock, unref, pushScopeId, popScopeId, createElementVNode, createTextVNode } from "vue";
|
1
|
+
import { defineComponent, toRefs, onMounted, openBlock, createElementBlock, unref, pushScopeId, popScopeId, createElementVNode, createTextVNode, ref, onUnmounted, renderSlot, withModifiers, withDirectives, vModelText, createCommentVNode } from "vue";
|
2
2
|
const { tudou3d } = window;
|
3
3
|
function initMap(options) {
|
4
4
|
const { id, mapOptions } = options;
|
5
5
|
const map = new tudou3d.Map(id, mapOptions);
|
6
6
|
return map;
|
7
7
|
}
|
8
|
-
const _hoisted_1$
|
9
|
-
const _sfc_main$
|
8
|
+
const _hoisted_1$3 = ["id"];
|
9
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
10
10
|
__name: "index",
|
11
11
|
props: {
|
12
12
|
mapOptions: {
|
@@ -31,7 +31,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
31
31
|
return openBlock(), createElementBlock("div", {
|
32
32
|
class: "map3d-class",
|
33
33
|
id: unref(mapId)
|
34
|
-
}, null, 8, _hoisted_1$
|
34
|
+
}, null, 8, _hoisted_1$3);
|
35
35
|
};
|
36
36
|
}
|
37
37
|
});
|
@@ -43,18 +43,18 @@ const _export_sfc = (sfc, props) => {
|
|
43
43
|
}
|
44
44
|
return target;
|
45
45
|
};
|
46
|
-
const Map3dt = /* @__PURE__ */ _export_sfc(_sfc_main$
|
47
|
-
const _withScopeId = (n) => (pushScopeId("data-v-11713398"), n = n(), popScopeId(), n);
|
48
|
-
const _hoisted_1$
|
49
|
-
const _hoisted_2$
|
46
|
+
const Map3dt = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b4b79245"]]);
|
47
|
+
const _withScopeId$1 = (n) => (pushScopeId("data-v-11713398"), n = n(), popScopeId(), n);
|
48
|
+
const _hoisted_1$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", { src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0i6aOO5qC86K6+6K6hIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC00MzAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlnLDlm77mjqfliLblsZXlvIAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2Mi4wMDAwMDAsIDI1Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLlnLDlm77nvKnlsI8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4LjAwMDAwMCwgMTc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjQgMTMgNCAxMSAyMCAxMSAyMCAxMyI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=" }, null, -1));
|
49
|
+
const _hoisted_2$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("span", null, [
|
50
50
|
/* @__PURE__ */ createTextVNode(" 缩小 "),
|
51
51
|
/* @__PURE__ */ createElementVNode("div", { class: "triangle" })
|
52
52
|
], -1));
|
53
|
-
const _hoisted_3$
|
54
|
-
_hoisted_1$
|
55
|
-
_hoisted_2$
|
53
|
+
const _hoisted_3$2 = [
|
54
|
+
_hoisted_1$2,
|
55
|
+
_hoisted_2$2
|
56
56
|
];
|
57
|
-
const _sfc_main$
|
57
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
58
58
|
__name: "index",
|
59
59
|
props: {
|
60
60
|
map: {
|
@@ -78,29 +78,29 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
78
78
|
return openBlock(), createElementBlock("div", {
|
79
79
|
class: "control",
|
80
80
|
onClick: zoomOut
|
81
|
-
}, _hoisted_3$
|
81
|
+
}, _hoisted_3$2);
|
82
82
|
};
|
83
83
|
}
|
84
84
|
});
|
85
85
|
const index_vue_vue_type_style_index_0_scoped_11713398_lang = "";
|
86
|
-
const ZoomOut = /* @__PURE__ */ _export_sfc(_sfc_main$
|
86
|
+
const ZoomOut = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-11713398"]]);
|
87
87
|
const _imports_0 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDxnIGlkPSLpo47moLzorr7orqEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC0zOTguMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0i5Zyw5Zu+5o6n5Yi25bGV5byAIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuMDAwMDAwLCAyNTIuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuWcsOWbvuaUvuWkpyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjguMDAwMDAwLCAxNDYuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4NCiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9Iui3r+W+hCIgZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIxMy4xNDI4NTcyIDEzLjE0Mjg1NzIgMTMuMTQyODU3MiAyMCAxMC44NTcxNDI4IDIwIDEwLjg1NzE0MjggMTMuMTQyODU3MiA0IDEzLjE0Mjg1NzIgNCAxMC44NTcxNDI4IDEwLjg1NzE0MjggMTAuODU3MTQyOCAxMC44NTcxNDI4IDQgMTMuMTQyODU3MiA0IDEzLjE0Mjg1NzIgMTAuODU3MTQyOCAyMCAxMC44NTcxNDI4IDIwIDEzLjE0Mjg1NzIiPjwvcG9seWdvbj4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=";
|
88
|
-
const _hoisted_1 = /* @__PURE__ */ createElementVNode("img", {
|
88
|
+
const _hoisted_1$1 = /* @__PURE__ */ createElementVNode("img", {
|
89
89
|
src: _imports_0,
|
90
90
|
class: "w-24px h-24px"
|
91
91
|
}, null, -1);
|
92
|
-
const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", { class: "invisible group-hover:visible bg-#000 absolute top-50% left--50px translate-y--50% text-14px p-4px rd-4px c-#fff" }, [
|
92
|
+
const _hoisted_2$1 = /* @__PURE__ */ createElementVNode("span", { class: "invisible group-hover:visible bg-#000 absolute top-50% left--50px translate-y--50% text-14px p-4px rd-4px c-#fff" }, [
|
93
93
|
/* @__PURE__ */ createTextVNode(" 放大 "),
|
94
94
|
/* @__PURE__ */ createElementVNode("div", { class: "absolute top-50% left--9px translate-y--50% w-0px h-0px b-5px b-t-transparent b-r-transparent b-b-transparent b-l-#000" })
|
95
95
|
], -1);
|
96
|
-
const _hoisted_3 = [
|
97
|
-
_hoisted_1,
|
98
|
-
_hoisted_2
|
96
|
+
const _hoisted_3$1 = [
|
97
|
+
_hoisted_1$1,
|
98
|
+
_hoisted_2$1
|
99
99
|
];
|
100
100
|
const __default__ = {
|
101
101
|
name: "ZoomIn"
|
102
102
|
};
|
103
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
103
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
104
104
|
...__default__,
|
105
105
|
props: {
|
106
106
|
map: {
|
@@ -124,15 +124,239 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
124
124
|
return openBlock(), createElementBlock("div", {
|
125
125
|
class: "group w-28px h-28px rd-4px bg-#000 f-c-c p-2px float-left m-2px cursor-pointer relative z-999 hover:bg-blue",
|
126
126
|
onClick: zoomIn
|
127
|
-
}, _hoisted_3);
|
127
|
+
}, _hoisted_3$1);
|
128
|
+
};
|
129
|
+
}
|
130
|
+
});
|
131
|
+
const expandImage = "data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9IuS4iee7tOW6ky3mjInnu4Tku7YiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSLlt6Xlhbct6YeP566X6I+c5Y2VIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjc4LjAwMDAwMCwgLTQ0Ni4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IumHj+eul+iPnOWNlSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYyLjAwMDAwMCwgMTkwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IuWdkOagh+aLvuWPliIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAyNTYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i5bey5a6a5L2NX2xvY2FsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjkzOTg5MTcsMTAuODI3MTI0MSBDMTMuMDkzMjg4OCwxMC4zMzAzMTMxIDEzLjYyMTc4NTEsMTAuMDUxNDkwOCAxNC4xMjAzMjEyLDEwLjIwNDM1NzEgQzE1Ljg5NDYzMywxMC43NDg0MTUxIDE3LDExLjU0OTczODUgMTcsMTIuNzQyMDgxNCBDMTcsMTQuODM5ODIyMSAxMy4yMTYzMzM4LDE2IDguNSwxNiBDMy43ODM2NjYyNCwxNiAwLDE0LjgzOTgyMjEgMCwxMi43NDIwODE0IEMwLDExLjU0OTc0MDMgMS4xMDUzNjEwOCwxMC43NDg0MTUzIDIuODc5NjYyMjksMTAuMjA0MzU3NiBDMy4zNzgxOTgxNSwxMC4wNTE0OTA0IDMuOTA2Njk0ODksMTAuMzMwMzExOSA0LjA2MDA5MjgsMTAuODI3MTIyNyBDNC4yMTM0OTA3MSwxMS4zMjM5MzM1IDMuOTMzNzAxMTIsMTEuODUwNjAxNiAzLjQzNTE2NTI2LDEyLjAwMzQ2ODcgQzIuMzkzODg0OCwxMi4zMjI3NTg4IDEuODg4ODg4ODksMTIuNjg4ODUyNSAxLjg4ODg4ODg5LDEyLjc0MjA4MTQgQzEuODg4ODg4ODksMTMuMjAzMzM5NiA0Ljg3MDcwMjQ2LDE0LjExNzY0NzEgOC41LDE0LjExNzY0NzEgQzEyLjEyOTI5NzUsMTQuMTE3NjQ3MSAxNS4xMTExMTExLDEzLjIwMzMzOTYgMTUuMTExMTExMSwxMi43NDIwODE0IEMxNS4xMTExMTExLDEyLjY4ODg1NTMgMTQuNjA2MTA5LDEyLjMyMjc1OTcgMTMuNTY0ODIxLDEyLjAwMzQ2OTEgQzEzLjA2NjI4NDksMTEuODUwNjAyOCAxMi43ODY0OTQ1LDExLjMyMzkzNTIgMTIuOTM5ODkxNywxMC44MjcxMjQxIFoiIGlkPSLot6/lvoQiIGZpbGw9IiMzODhERkMiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTguNSwxMS45Njk4MzQxIEM4LjUsMTEuOTY5ODM0MSAxMy40MTExMTExLDguNjg5MzI3MyAxMy40MTExMTExLDQuODk2NzQzMjkgQzEzLjQxMTExMTEsMi4xOTIzNDg0OCAxMS4yMTIzMzExLDAgOC41LDAgQzUuNzg3NjY4ODksMCAzLjU4ODg4ODg5LDIuMTkyMzQ4NDggMy41ODg4ODg4OSw0Ljg5Njc0MzI5IEMzLjU4ODg4ODg5LDguNjg5MzI3MyA4LjUsMTEuOTY5ODM0MSA4LjUsMTEuOTY5ODM0MSBaIiBpZD0i6Lev5b6EIiBzdHJva2U9IiM1MDVBNkMiIHN0cm9rZS13aWR0aD0iMC45NDExNzY0NzEiIGZpbGw9IiM1MDVBNkMiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOC41LDYuOTUwMjI2MjQgQzkuNTQzMTk1NTYsNi45NTAyMjYyNCAxMC4zODg4ODg5LDYuMDg1ODQ5NzcgMTAuMzg4ODg4OSw1LjAxOTYwNzg0IEMxMC4zODg4ODg5LDMuOTUzMzY1OTEgOS41NDMxOTU1NiwzLjA4ODk4OTQ0IDguNSwzLjA4ODk4OTQ0IEM3LjQ1NjgwNDQ0LDMuMDg4OTg5NDQgNi42MTExMTExMSwzLjk1MzM2NTkxIDYuNjExMTExMTEsNS4wMTk2MDc4NCBDNi42MTExMTExMSw2LjA4NTg0OTc3IDcuNDU2ODA0NDQsNi45NTAyMjYyNCA4LjUsNi45NTAyMjYyNCBaIiBpZD0i6Lev5b6EIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4xNTgzNzEwNCIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=";
|
132
|
+
const iconImage = "data:image/png;base64,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";
|
133
|
+
const _sfc_main = defineComponent({
|
134
|
+
name: "MeasureCoordinatePickingT",
|
135
|
+
props: {
|
136
|
+
map: {
|
137
|
+
type: Object,
|
138
|
+
default: null
|
139
|
+
},
|
140
|
+
initOptions: {
|
141
|
+
type: Object,
|
142
|
+
default: null
|
143
|
+
},
|
144
|
+
styleOption: {
|
145
|
+
type: Object,
|
146
|
+
default: null
|
147
|
+
},
|
148
|
+
clearParent: {
|
149
|
+
type: Function,
|
150
|
+
default: null
|
151
|
+
},
|
152
|
+
image: {
|
153
|
+
type: String,
|
154
|
+
default: ""
|
155
|
+
}
|
156
|
+
},
|
157
|
+
expose: ["clear"],
|
158
|
+
setup(prop) {
|
159
|
+
const { map: map3d, initOptions, styleOption, clearParent, image } = prop;
|
160
|
+
let map;
|
161
|
+
const { tudou3d: tudou3d2 } = window;
|
162
|
+
let latitude = ref(0);
|
163
|
+
let longitude = ref(0);
|
164
|
+
let elevation = ref(0);
|
165
|
+
let showCoordinates = ref(false);
|
166
|
+
const graphicLayer = new tudou3d2.layer.GraphicLayer();
|
167
|
+
function copy() {
|
168
|
+
copyText(`${longitude.value},${latitude.value},${elevation.value}`);
|
169
|
+
}
|
170
|
+
function clickDeal(options) {
|
171
|
+
const { cartesian } = options;
|
172
|
+
if (cartesian) {
|
173
|
+
const point = tudou3d2.PointTrans.cartesian2lonlat(cartesian);
|
174
|
+
longitude.value = point[0].toFixed(5);
|
175
|
+
latitude.value = point[1].toFixed(5);
|
176
|
+
elevation.value = point[2].toFixed(2);
|
177
|
+
graphicLayer.clear(true);
|
178
|
+
addIcon({
|
179
|
+
longitude: longitude.value,
|
180
|
+
latitude: latitude.value
|
181
|
+
});
|
182
|
+
}
|
183
|
+
}
|
184
|
+
function addIcon(options) {
|
185
|
+
const { longitude: longitude2, latitude: latitude2 } = options;
|
186
|
+
const graphic = new tudou3d2.graphic.BillboardEntity({
|
187
|
+
position: [longitude2, latitude2],
|
188
|
+
popup: () => false,
|
189
|
+
style: {
|
190
|
+
clampToGround: true,
|
191
|
+
image: image || iconImage,
|
192
|
+
scale: 0.5,
|
193
|
+
visibleDepth: false,
|
194
|
+
horizontalOrigin: window.Cesium.HorizontalOrigin.CENTER,
|
195
|
+
verticalOrigin: window.Cesium.VerticalOrigin.BOTTOM
|
196
|
+
}
|
197
|
+
});
|
198
|
+
graphicLayer.addGraphic(graphic);
|
199
|
+
graphic.flyTo({ minHeight: 2e3 });
|
200
|
+
}
|
201
|
+
function getHeight() {
|
202
|
+
if (!(typeof +longitude.value === "number" && !isNaN(+longitude.value))) {
|
203
|
+
console.log("经度必须为数字!");
|
204
|
+
return;
|
205
|
+
}
|
206
|
+
if (!(typeof +latitude.value === "number" && !isNaN(+latitude.value))) {
|
207
|
+
console.log("纬度必须为数字!");
|
208
|
+
return;
|
209
|
+
}
|
210
|
+
const positions = [
|
211
|
+
window.Cesium.Cartographic.fromDegrees(longitude.value, latitude.value)
|
212
|
+
];
|
213
|
+
const promise = window.Cesium.sampleTerrainMostDetailed(map.terrainProvider, positions);
|
214
|
+
Promise.resolve(promise).then((updatedPositions) => {
|
215
|
+
elevation.value = updatedPositions[0].height.toFixed(2);
|
216
|
+
});
|
217
|
+
addIcon({ longitude: longitude.value, latitude: latitude.value });
|
218
|
+
}
|
219
|
+
function clear() {
|
220
|
+
longitude.value = 0;
|
221
|
+
latitude.value = 0;
|
222
|
+
elevation.value = 0;
|
223
|
+
graphicLayer.clear(true);
|
224
|
+
showCoordinates.value = false;
|
225
|
+
map = map3d || window.map;
|
226
|
+
map && map.off("click", clickDeal);
|
227
|
+
}
|
228
|
+
function showPick() {
|
229
|
+
map = map3d || window.map;
|
230
|
+
map.viewer.scene.globe.depthTestAgainstTerrain = true;
|
231
|
+
clearParent ? clearParent() : clear();
|
232
|
+
showCoordinates.value = true;
|
233
|
+
map && map.on("click", clickDeal);
|
234
|
+
}
|
235
|
+
function copyText(text = "") {
|
236
|
+
try {
|
237
|
+
return navigator.clipboard.writeText(text).then(() => {
|
238
|
+
console.log("复制成功");
|
239
|
+
return Promise.resolve();
|
240
|
+
}).catch((err) => {
|
241
|
+
console.error("复制失败:", err);
|
242
|
+
return Promise.reject(err);
|
243
|
+
});
|
244
|
+
} catch (e) {
|
245
|
+
let input = document.createElement("input");
|
246
|
+
input.style.position = "fixed";
|
247
|
+
input.style.top = "-10000px";
|
248
|
+
input.style.zIndex = "-999";
|
249
|
+
document.body.appendChild(input);
|
250
|
+
input.value = text;
|
251
|
+
input.focus();
|
252
|
+
input.select();
|
253
|
+
try {
|
254
|
+
let result = document.execCommand("copy");
|
255
|
+
document.body.removeChild(input);
|
256
|
+
if (!result) {
|
257
|
+
return Promise.reject("复制失败");
|
258
|
+
} else {
|
259
|
+
console.log("复制成功");
|
260
|
+
return Promise.resolve();
|
261
|
+
}
|
262
|
+
} catch (e2) {
|
263
|
+
document.body.removeChild(input);
|
264
|
+
return Promise.reject(
|
265
|
+
"当前浏览器不支持复制功能,请检查更新或更换其他浏览器操作"
|
266
|
+
);
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
270
|
+
onMounted(() => {
|
271
|
+
map = map3d || window.map;
|
272
|
+
map && map.addLayer(graphicLayer);
|
273
|
+
});
|
274
|
+
onUnmounted(() => {
|
275
|
+
map = map3d || window.map;
|
276
|
+
graphicLayer.clear(true);
|
277
|
+
map && map.removeLayer(graphicLayer, true);
|
278
|
+
});
|
279
|
+
return {
|
280
|
+
expandImage,
|
281
|
+
latitude,
|
282
|
+
longitude,
|
283
|
+
elevation,
|
284
|
+
showCoordinates,
|
285
|
+
copy,
|
286
|
+
clear,
|
287
|
+
showPick,
|
288
|
+
getHeight
|
128
289
|
};
|
129
290
|
}
|
130
291
|
});
|
292
|
+
const index_vue_vue_type_style_index_0_scoped_b8fc7a6b_lang = "";
|
293
|
+
const _withScopeId = (n) => (pushScopeId("data-v-b8fc7a6b"), n = n(), popScopeId(), n);
|
294
|
+
const _hoisted_1 = ["src"];
|
295
|
+
const _hoisted_2 = { class: "text" };
|
296
|
+
const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "w-50px" }, "经度:", -1));
|
297
|
+
const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "w-50px" }, "纬度:", -1));
|
298
|
+
const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "w-50px" }, "高度:", -1));
|
299
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
300
|
+
return openBlock(), createElementBlock("button", {
|
301
|
+
class: "measure",
|
302
|
+
onClick: _cache[6] || (_cache[6] = (...args) => _ctx.showPick && _ctx.showPick(...args))
|
303
|
+
}, [
|
304
|
+
renderSlot(_ctx.$slots, "img", {}, () => [
|
305
|
+
createElementVNode("img", { src: _ctx.expandImage }, null, 8, _hoisted_1)
|
306
|
+
], true),
|
307
|
+
createElementVNode("span", _hoisted_2, [
|
308
|
+
renderSlot(_ctx.$slots, "default", {}, () => [
|
309
|
+
createTextVNode("坐标拾取")
|
310
|
+
], true)
|
311
|
+
]),
|
312
|
+
_ctx.showCoordinates ? (openBlock(), createElementBlock("div", {
|
313
|
+
key: 0,
|
314
|
+
class: "coordinatesStyle",
|
315
|
+
onClick: _cache[5] || (_cache[5] = withModifiers(() => {
|
316
|
+
}, ["stop"]))
|
317
|
+
}, [
|
318
|
+
_hoisted_3,
|
319
|
+
withDirectives(createElementVNode("input", {
|
320
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.longitude = $event),
|
321
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
322
|
+
}, null, 512), [
|
323
|
+
[vModelText, _ctx.longitude]
|
324
|
+
]),
|
325
|
+
_hoisted_4,
|
326
|
+
withDirectives(createElementVNode("input", {
|
327
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.latitude = $event),
|
328
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
329
|
+
}, null, 512), [
|
330
|
+
[vModelText, _ctx.latitude]
|
331
|
+
]),
|
332
|
+
_hoisted_5,
|
333
|
+
withDirectives(createElementVNode("input", {
|
334
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.elevation = $event),
|
335
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
336
|
+
}, null, 512), [
|
337
|
+
[vModelText, _ctx.elevation]
|
338
|
+
]),
|
339
|
+
createElementVNode("button", {
|
340
|
+
onClick: _cache[3] || (_cache[3] = (...args) => _ctx.getHeight && _ctx.getHeight(...args)),
|
341
|
+
class: "copyBtn"
|
342
|
+
}, "定位"),
|
343
|
+
createElementVNode("button", {
|
344
|
+
onClick: _cache[4] || (_cache[4] = (...args) => _ctx.copy && _ctx.copy(...args)),
|
345
|
+
class: "copyBtn"
|
346
|
+
}, "复制")
|
347
|
+
])) : createCommentVNode("", true)
|
348
|
+
]);
|
349
|
+
}
|
350
|
+
const MeasureCoordinatePickingT = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b8fc7a6b"]]);
|
351
|
+
MeasureCoordinatePickingT.install = (app) => {
|
352
|
+
app.component(MeasureCoordinatePickingT.name, MeasureCoordinatePickingT);
|
353
|
+
};
|
131
354
|
const CesiumUi = {
|
132
355
|
install: (app) => {
|
133
356
|
app.component("map3dt", Map3dt);
|
134
357
|
app.component("zoomOut", ZoomOut);
|
135
|
-
app.component("zoomIn", _sfc_main);
|
358
|
+
app.component("zoomIn", _sfc_main$1);
|
359
|
+
app.component("MeasureCoordinatePickingT", MeasureCoordinatePickingT);
|
136
360
|
}
|
137
361
|
};
|
138
362
|
export {
|
package/dist/map3d-ui2.umd.js
CHANGED
@@ -8,8 +8,8 @@
|
|
8
8
|
const map = new tudou3d.Map(id, mapOptions);
|
9
9
|
return map;
|
10
10
|
}
|
11
|
-
const _hoisted_1$
|
12
|
-
const _sfc_main$
|
11
|
+
const _hoisted_1$3 = ["id"];
|
12
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
13
13
|
__name: "index",
|
14
14
|
props: {
|
15
15
|
mapOptions: {
|
@@ -34,7 +34,7 @@
|
|
34
34
|
return vue.openBlock(), vue.createElementBlock("div", {
|
35
35
|
class: "map3d-class",
|
36
36
|
id: vue.unref(mapId)
|
37
|
-
}, null, 8, _hoisted_1$
|
37
|
+
}, null, 8, _hoisted_1$3);
|
38
38
|
};
|
39
39
|
}
|
40
40
|
});
|
@@ -46,18 +46,18 @@
|
|
46
46
|
}
|
47
47
|
return target;
|
48
48
|
};
|
49
|
-
const Map3dt = /* @__PURE__ */ _export_sfc(_sfc_main$
|
50
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-11713398"), n = n(), vue.popScopeId(), n);
|
51
|
-
const _hoisted_1$
|
52
|
-
const _hoisted_2$
|
49
|
+
const Map3dt = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b4b79245"]]);
|
50
|
+
const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-11713398"), n = n(), vue.popScopeId(), n);
|
51
|
+
const _hoisted_1$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("img", { src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0i6aOO5qC86K6+6K6hIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC00MzAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlnLDlm77mjqfliLblsZXlvIAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2Mi4wMDAwMDAsIDI1Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLlnLDlm77nvKnlsI8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4LjAwMDAwMCwgMTc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjQgMTMgNCAxMSAyMCAxMSAyMCAxMyI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=" }, null, -1));
|
52
|
+
const _hoisted_2$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", null, [
|
53
53
|
/* @__PURE__ */ vue.createTextVNode(" 缩小 "),
|
54
54
|
/* @__PURE__ */ vue.createElementVNode("div", { class: "triangle" })
|
55
55
|
], -1));
|
56
|
-
const _hoisted_3$
|
57
|
-
_hoisted_1$
|
58
|
-
_hoisted_2$
|
56
|
+
const _hoisted_3$2 = [
|
57
|
+
_hoisted_1$2,
|
58
|
+
_hoisted_2$2
|
59
59
|
];
|
60
|
-
const _sfc_main$
|
60
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
61
61
|
__name: "index",
|
62
62
|
props: {
|
63
63
|
map: {
|
@@ -81,29 +81,29 @@
|
|
81
81
|
return vue.openBlock(), vue.createElementBlock("div", {
|
82
82
|
class: "control",
|
83
83
|
onClick: zoomOut
|
84
|
-
}, _hoisted_3$
|
84
|
+
}, _hoisted_3$2);
|
85
85
|
};
|
86
86
|
}
|
87
87
|
});
|
88
88
|
const index_vue_vue_type_style_index_0_scoped_11713398_lang = "";
|
89
|
-
const ZoomOut = /* @__PURE__ */ _export_sfc(_sfc_main$
|
89
|
+
const ZoomOut = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-11713398"]]);
|
90
90
|
const _imports_0 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDxnIGlkPSLpo47moLzorr7orqEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC0zOTguMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0i5Zyw5Zu+5o6n5Yi25bGV5byAIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjIuMDAwMDAwLCAyNTIuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuWcsOWbvuaUvuWkpyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjguMDAwMDAwLCAxNDYuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4NCiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9Iui3r+W+hCIgZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIxMy4xNDI4NTcyIDEzLjE0Mjg1NzIgMTMuMTQyODU3MiAyMCAxMC44NTcxNDI4IDIwIDEwLjg1NzE0MjggMTMuMTQyODU3MiA0IDEzLjE0Mjg1NzIgNCAxMC44NTcxNDI4IDEwLjg1NzE0MjggMTAuODU3MTQyOCAxMC44NTcxNDI4IDQgMTMuMTQyODU3MiA0IDEzLjE0Mjg1NzIgMTAuODU3MTQyOCAyMCAxMC44NTcxNDI4IDIwIDEzLjE0Mjg1NzIiPjwvcG9seWdvbj4NCiAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=";
|
91
|
-
const _hoisted_1 = /* @__PURE__ */ vue.createElementVNode("img", {
|
91
|
+
const _hoisted_1$1 = /* @__PURE__ */ vue.createElementVNode("img", {
|
92
92
|
src: _imports_0,
|
93
93
|
class: "w-24px h-24px"
|
94
94
|
}, null, -1);
|
95
|
-
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("span", { class: "invisible group-hover:visible bg-#000 absolute top-50% left--50px translate-y--50% text-14px p-4px rd-4px c-#fff" }, [
|
95
|
+
const _hoisted_2$1 = /* @__PURE__ */ vue.createElementVNode("span", { class: "invisible group-hover:visible bg-#000 absolute top-50% left--50px translate-y--50% text-14px p-4px rd-4px c-#fff" }, [
|
96
96
|
/* @__PURE__ */ vue.createTextVNode(" 放大 "),
|
97
97
|
/* @__PURE__ */ vue.createElementVNode("div", { class: "absolute top-50% left--9px translate-y--50% w-0px h-0px b-5px b-t-transparent b-r-transparent b-b-transparent b-l-#000" })
|
98
98
|
], -1);
|
99
|
-
const _hoisted_3 = [
|
100
|
-
_hoisted_1,
|
101
|
-
_hoisted_2
|
99
|
+
const _hoisted_3$1 = [
|
100
|
+
_hoisted_1$1,
|
101
|
+
_hoisted_2$1
|
102
102
|
];
|
103
103
|
const __default__ = {
|
104
104
|
name: "ZoomIn"
|
105
105
|
};
|
106
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
106
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
107
107
|
...__default__,
|
108
108
|
props: {
|
109
109
|
map: {
|
@@ -127,15 +127,239 @@
|
|
127
127
|
return vue.openBlock(), vue.createElementBlock("div", {
|
128
128
|
class: "group w-28px h-28px rd-4px bg-#000 f-c-c p-2px float-left m-2px cursor-pointer relative z-999 hover:bg-blue",
|
129
129
|
onClick: zoomIn
|
130
|
-
}, _hoisted_3);
|
130
|
+
}, _hoisted_3$1);
|
131
|
+
};
|
132
|
+
}
|
133
|
+
});
|
134
|
+
const expandImage = "data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwIDIwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9IuS4iee7tOW6ky3mjInnu4Tku7YiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSLlt6Xlhbct6YeP566X6I+c5Y2VIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjc4LjAwMDAwMCwgLTQ0Ni4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IumHj+eul+iPnOWNlSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYyLjAwMDAwMCwgMTkwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9IuWdkOagh+aLvuWPliIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAyNTYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i5bey5a6a5L2NX2xvY2FsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMi4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjkzOTg5MTcsMTAuODI3MTI0MSBDMTMuMDkzMjg4OCwxMC4zMzAzMTMxIDEzLjYyMTc4NTEsMTAuMDUxNDkwOCAxNC4xMjAzMjEyLDEwLjIwNDM1NzEgQzE1Ljg5NDYzMywxMC43NDg0MTUxIDE3LDExLjU0OTczODUgMTcsMTIuNzQyMDgxNCBDMTcsMTQuODM5ODIyMSAxMy4yMTYzMzM4LDE2IDguNSwxNiBDMy43ODM2NjYyNCwxNiAwLDE0LjgzOTgyMjEgMCwxMi43NDIwODE0IEMwLDExLjU0OTc0MDMgMS4xMDUzNjEwOCwxMC43NDg0MTUzIDIuODc5NjYyMjksMTAuMjA0MzU3NiBDMy4zNzgxOTgxNSwxMC4wNTE0OTA0IDMuOTA2Njk0ODksMTAuMzMwMzExOSA0LjA2MDA5MjgsMTAuODI3MTIyNyBDNC4yMTM0OTA3MSwxMS4zMjM5MzM1IDMuOTMzNzAxMTIsMTEuODUwNjAxNiAzLjQzNTE2NTI2LDEyLjAwMzQ2ODcgQzIuMzkzODg0OCwxMi4zMjI3NTg4IDEuODg4ODg4ODksMTIuNjg4ODUyNSAxLjg4ODg4ODg5LDEyLjc0MjA4MTQgQzEuODg4ODg4ODksMTMuMjAzMzM5NiA0Ljg3MDcwMjQ2LDE0LjExNzY0NzEgOC41LDE0LjExNzY0NzEgQzEyLjEyOTI5NzUsMTQuMTE3NjQ3MSAxNS4xMTExMTExLDEzLjIwMzMzOTYgMTUuMTExMTExMSwxMi43NDIwODE0IEMxNS4xMTExMTExLDEyLjY4ODg1NTMgMTQuNjA2MTA5LDEyLjMyMjc1OTcgMTMuNTY0ODIxLDEyLjAwMzQ2OTEgQzEzLjA2NjI4NDksMTEuODUwNjAyOCAxMi43ODY0OTQ1LDExLjMyMzkzNTIgMTIuOTM5ODkxNywxMC44MjcxMjQxIFoiIGlkPSLot6/lvoQiIGZpbGw9IiMzODhERkMiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTguNSwxMS45Njk4MzQxIEM4LjUsMTEuOTY5ODM0MSAxMy40MTExMTExLDguNjg5MzI3MyAxMy40MTExMTExLDQuODk2NzQzMjkgQzEzLjQxMTExMTEsMi4xOTIzNDg0OCAxMS4yMTIzMzExLDAgOC41LDAgQzUuNzg3NjY4ODksMCAzLjU4ODg4ODg5LDIuMTkyMzQ4NDggMy41ODg4ODg4OSw0Ljg5Njc0MzI5IEMzLjU4ODg4ODg5LDguNjg5MzI3MyA4LjUsMTEuOTY5ODM0MSA4LjUsMTEuOTY5ODM0MSBaIiBpZD0i6Lev5b6EIiBzdHJva2U9IiM1MDVBNkMiIHN0cm9rZS13aWR0aD0iMC45NDExNzY0NzEiIGZpbGw9IiM1MDVBNkMiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOC41LDYuOTUwMjI2MjQgQzkuNTQzMTk1NTYsNi45NTAyMjYyNCAxMC4zODg4ODg5LDYuMDg1ODQ5NzcgMTAuMzg4ODg4OSw1LjAxOTYwNzg0IEMxMC4zODg4ODg5LDMuOTUzMzY1OTEgOS41NDMxOTU1NiwzLjA4ODk4OTQ0IDguNSwzLjA4ODk4OTQ0IEM3LjQ1NjgwNDQ0LDMuMDg4OTg5NDQgNi42MTExMTExMSwzLjk1MzM2NTkxIDYuNjExMTExMTEsNS4wMTk2MDc4NCBDNi42MTExMTExMSw2LjA4NTg0OTc3IDcuNDU2ODA0NDQsNi45NTAyMjYyNCA4LjUsNi45NTAyMjYyNCBaIiBpZD0i6Lev5b6EIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMS4xNTgzNzEwNCIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=";
|
135
|
+
const iconImage = "data:image/png;base64,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";
|
136
|
+
const _sfc_main = vue.defineComponent({
|
137
|
+
name: "MeasureCoordinatePickingT",
|
138
|
+
props: {
|
139
|
+
map: {
|
140
|
+
type: Object,
|
141
|
+
default: null
|
142
|
+
},
|
143
|
+
initOptions: {
|
144
|
+
type: Object,
|
145
|
+
default: null
|
146
|
+
},
|
147
|
+
styleOption: {
|
148
|
+
type: Object,
|
149
|
+
default: null
|
150
|
+
},
|
151
|
+
clearParent: {
|
152
|
+
type: Function,
|
153
|
+
default: null
|
154
|
+
},
|
155
|
+
image: {
|
156
|
+
type: String,
|
157
|
+
default: ""
|
158
|
+
}
|
159
|
+
},
|
160
|
+
expose: ["clear"],
|
161
|
+
setup(prop) {
|
162
|
+
const { map: map3d, initOptions, styleOption, clearParent, image } = prop;
|
163
|
+
let map;
|
164
|
+
const { tudou3d: tudou3d2 } = window;
|
165
|
+
let latitude = vue.ref(0);
|
166
|
+
let longitude = vue.ref(0);
|
167
|
+
let elevation = vue.ref(0);
|
168
|
+
let showCoordinates = vue.ref(false);
|
169
|
+
const graphicLayer = new tudou3d2.layer.GraphicLayer();
|
170
|
+
function copy() {
|
171
|
+
copyText(`${longitude.value},${latitude.value},${elevation.value}`);
|
172
|
+
}
|
173
|
+
function clickDeal(options) {
|
174
|
+
const { cartesian } = options;
|
175
|
+
if (cartesian) {
|
176
|
+
const point = tudou3d2.PointTrans.cartesian2lonlat(cartesian);
|
177
|
+
longitude.value = point[0].toFixed(5);
|
178
|
+
latitude.value = point[1].toFixed(5);
|
179
|
+
elevation.value = point[2].toFixed(2);
|
180
|
+
graphicLayer.clear(true);
|
181
|
+
addIcon({
|
182
|
+
longitude: longitude.value,
|
183
|
+
latitude: latitude.value
|
184
|
+
});
|
185
|
+
}
|
186
|
+
}
|
187
|
+
function addIcon(options) {
|
188
|
+
const { longitude: longitude2, latitude: latitude2 } = options;
|
189
|
+
const graphic = new tudou3d2.graphic.BillboardEntity({
|
190
|
+
position: [longitude2, latitude2],
|
191
|
+
popup: () => false,
|
192
|
+
style: {
|
193
|
+
clampToGround: true,
|
194
|
+
image: image || iconImage,
|
195
|
+
scale: 0.5,
|
196
|
+
visibleDepth: false,
|
197
|
+
horizontalOrigin: window.Cesium.HorizontalOrigin.CENTER,
|
198
|
+
verticalOrigin: window.Cesium.VerticalOrigin.BOTTOM
|
199
|
+
}
|
200
|
+
});
|
201
|
+
graphicLayer.addGraphic(graphic);
|
202
|
+
graphic.flyTo({ minHeight: 2e3 });
|
203
|
+
}
|
204
|
+
function getHeight() {
|
205
|
+
if (!(typeof +longitude.value === "number" && !isNaN(+longitude.value))) {
|
206
|
+
console.log("经度必须为数字!");
|
207
|
+
return;
|
208
|
+
}
|
209
|
+
if (!(typeof +latitude.value === "number" && !isNaN(+latitude.value))) {
|
210
|
+
console.log("纬度必须为数字!");
|
211
|
+
return;
|
212
|
+
}
|
213
|
+
const positions = [
|
214
|
+
window.Cesium.Cartographic.fromDegrees(longitude.value, latitude.value)
|
215
|
+
];
|
216
|
+
const promise = window.Cesium.sampleTerrainMostDetailed(map.terrainProvider, positions);
|
217
|
+
Promise.resolve(promise).then((updatedPositions) => {
|
218
|
+
elevation.value = updatedPositions[0].height.toFixed(2);
|
219
|
+
});
|
220
|
+
addIcon({ longitude: longitude.value, latitude: latitude.value });
|
221
|
+
}
|
222
|
+
function clear() {
|
223
|
+
longitude.value = 0;
|
224
|
+
latitude.value = 0;
|
225
|
+
elevation.value = 0;
|
226
|
+
graphicLayer.clear(true);
|
227
|
+
showCoordinates.value = false;
|
228
|
+
map = map3d || window.map;
|
229
|
+
map && map.off("click", clickDeal);
|
230
|
+
}
|
231
|
+
function showPick() {
|
232
|
+
map = map3d || window.map;
|
233
|
+
map.viewer.scene.globe.depthTestAgainstTerrain = true;
|
234
|
+
clearParent ? clearParent() : clear();
|
235
|
+
showCoordinates.value = true;
|
236
|
+
map && map.on("click", clickDeal);
|
237
|
+
}
|
238
|
+
function copyText(text = "") {
|
239
|
+
try {
|
240
|
+
return navigator.clipboard.writeText(text).then(() => {
|
241
|
+
console.log("复制成功");
|
242
|
+
return Promise.resolve();
|
243
|
+
}).catch((err) => {
|
244
|
+
console.error("复制失败:", err);
|
245
|
+
return Promise.reject(err);
|
246
|
+
});
|
247
|
+
} catch (e) {
|
248
|
+
let input = document.createElement("input");
|
249
|
+
input.style.position = "fixed";
|
250
|
+
input.style.top = "-10000px";
|
251
|
+
input.style.zIndex = "-999";
|
252
|
+
document.body.appendChild(input);
|
253
|
+
input.value = text;
|
254
|
+
input.focus();
|
255
|
+
input.select();
|
256
|
+
try {
|
257
|
+
let result = document.execCommand("copy");
|
258
|
+
document.body.removeChild(input);
|
259
|
+
if (!result) {
|
260
|
+
return Promise.reject("复制失败");
|
261
|
+
} else {
|
262
|
+
console.log("复制成功");
|
263
|
+
return Promise.resolve();
|
264
|
+
}
|
265
|
+
} catch (e2) {
|
266
|
+
document.body.removeChild(input);
|
267
|
+
return Promise.reject(
|
268
|
+
"当前浏览器不支持复制功能,请检查更新或更换其他浏览器操作"
|
269
|
+
);
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
273
|
+
vue.onMounted(() => {
|
274
|
+
map = map3d || window.map;
|
275
|
+
map && map.addLayer(graphicLayer);
|
276
|
+
});
|
277
|
+
vue.onUnmounted(() => {
|
278
|
+
map = map3d || window.map;
|
279
|
+
graphicLayer.clear(true);
|
280
|
+
map && map.removeLayer(graphicLayer, true);
|
281
|
+
});
|
282
|
+
return {
|
283
|
+
expandImage,
|
284
|
+
latitude,
|
285
|
+
longitude,
|
286
|
+
elevation,
|
287
|
+
showCoordinates,
|
288
|
+
copy,
|
289
|
+
clear,
|
290
|
+
showPick,
|
291
|
+
getHeight
|
131
292
|
};
|
132
293
|
}
|
133
294
|
});
|
295
|
+
const index_vue_vue_type_style_index_0_scoped_b8fc7a6b_lang = "";
|
296
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-b8fc7a6b"), n = n(), vue.popScopeId(), n);
|
297
|
+
const _hoisted_1 = ["src"];
|
298
|
+
const _hoisted_2 = { class: "text" };
|
299
|
+
const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "w-50px" }, "经度:", -1));
|
300
|
+
const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "w-50px" }, "纬度:", -1));
|
301
|
+
const _hoisted_5 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "w-50px" }, "高度:", -1));
|
302
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
303
|
+
return vue.openBlock(), vue.createElementBlock("button", {
|
304
|
+
class: "measure",
|
305
|
+
onClick: _cache[6] || (_cache[6] = (...args) => _ctx.showPick && _ctx.showPick(...args))
|
306
|
+
}, [
|
307
|
+
vue.renderSlot(_ctx.$slots, "img", {}, () => [
|
308
|
+
vue.createElementVNode("img", { src: _ctx.expandImage }, null, 8, _hoisted_1)
|
309
|
+
], true),
|
310
|
+
vue.createElementVNode("span", _hoisted_2, [
|
311
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
312
|
+
vue.createTextVNode("坐标拾取")
|
313
|
+
], true)
|
314
|
+
]),
|
315
|
+
_ctx.showCoordinates ? (vue.openBlock(), vue.createElementBlock("div", {
|
316
|
+
key: 0,
|
317
|
+
class: "coordinatesStyle",
|
318
|
+
onClick: _cache[5] || (_cache[5] = vue.withModifiers(() => {
|
319
|
+
}, ["stop"]))
|
320
|
+
}, [
|
321
|
+
_hoisted_3,
|
322
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
323
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.longitude = $event),
|
324
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
325
|
+
}, null, 512), [
|
326
|
+
[vue.vModelText, _ctx.longitude]
|
327
|
+
]),
|
328
|
+
_hoisted_4,
|
329
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
330
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.latitude = $event),
|
331
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
332
|
+
}, null, 512), [
|
333
|
+
[vue.vModelText, _ctx.latitude]
|
334
|
+
]),
|
335
|
+
_hoisted_5,
|
336
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
337
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.elevation = $event),
|
338
|
+
class: "b-0px b-b-1px b-#000 h-25px w-80px outline-none"
|
339
|
+
}, null, 512), [
|
340
|
+
[vue.vModelText, _ctx.elevation]
|
341
|
+
]),
|
342
|
+
vue.createElementVNode("button", {
|
343
|
+
onClick: _cache[3] || (_cache[3] = (...args) => _ctx.getHeight && _ctx.getHeight(...args)),
|
344
|
+
class: "copyBtn"
|
345
|
+
}, "定位"),
|
346
|
+
vue.createElementVNode("button", {
|
347
|
+
onClick: _cache[4] || (_cache[4] = (...args) => _ctx.copy && _ctx.copy(...args)),
|
348
|
+
class: "copyBtn"
|
349
|
+
}, "复制")
|
350
|
+
])) : vue.createCommentVNode("", true)
|
351
|
+
]);
|
352
|
+
}
|
353
|
+
const MeasureCoordinatePickingT = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b8fc7a6b"]]);
|
354
|
+
MeasureCoordinatePickingT.install = (app) => {
|
355
|
+
app.component(MeasureCoordinatePickingT.name, MeasureCoordinatePickingT);
|
356
|
+
};
|
134
357
|
const CesiumUi = {
|
135
358
|
install: (app) => {
|
136
359
|
app.component("map3dt", Map3dt);
|
137
360
|
app.component("zoomOut", ZoomOut);
|
138
|
-
app.component("zoomIn", _sfc_main);
|
361
|
+
app.component("zoomIn", _sfc_main$1);
|
362
|
+
app.component("MeasureCoordinatePickingT", MeasureCoordinatePickingT);
|
139
363
|
}
|
140
364
|
};
|
141
365
|
return CesiumUi;
|
package/dist/style.css
CHANGED
@@ -60,3 +60,73 @@
|
|
60
60
|
border-bottom-color: transparent;
|
61
61
|
border-left-color: #000000;
|
62
62
|
}
|
63
|
+
|
64
|
+
*[data-v-b8fc7a6b] {
|
65
|
+
margin: 0px;
|
66
|
+
padding: 0px;
|
67
|
+
box-sizing: border-box;
|
68
|
+
user-select: none;
|
69
|
+
}
|
70
|
+
.measure[data-v-b8fc7a6b] {
|
71
|
+
width: 110px;
|
72
|
+
height: 36px;
|
73
|
+
background: var(--pt-bg-color-white);
|
74
|
+
border: 1px solid transparent;
|
75
|
+
border-radius: 4px;
|
76
|
+
display: flex;
|
77
|
+
align-items: center;
|
78
|
+
padding: 8px;
|
79
|
+
margin: 2px 0px;
|
80
|
+
cursor:pointer;
|
81
|
+
}
|
82
|
+
.measure[data-v-b8fc7a6b]:hover {
|
83
|
+
background-color: var(--pt-bg-color-normal);
|
84
|
+
color:var(--pt-primary-color-normal);
|
85
|
+
}
|
86
|
+
.measure:hover .coordinatesStyle[data-v-b8fc7a6b] {
|
87
|
+
color:var(--pt-text-color-stair-light);
|
88
|
+
}
|
89
|
+
.measure[data-v-b8fc7a6b]:active {
|
90
|
+
background: var(--pt-primary-color-light);
|
91
|
+
border-color: var(--pt-primary-color-normal);
|
92
|
+
}
|
93
|
+
.measure[data-v-b8fc7a6b]:focus {
|
94
|
+
background: var(--pt-primary-color-light);
|
95
|
+
border-color: var(--pt-primary-color-normal);
|
96
|
+
}
|
97
|
+
.text[data-v-b8fc7a6b] {
|
98
|
+
margin-left: 12px;
|
99
|
+
}
|
100
|
+
.coordinatesStyle[data-v-b8fc7a6b] {
|
101
|
+
padding: 4px 10px;
|
102
|
+
background: #fff;
|
103
|
+
border-radius: 4px;
|
104
|
+
position: absolute;
|
105
|
+
top: 0px;
|
106
|
+
right: 500px;
|
107
|
+
display: flex;
|
108
|
+
align-items: center;
|
109
|
+
/* justify-content: space-between; */
|
110
|
+
/* width: 350px; */
|
111
|
+
font-size: 16px;
|
112
|
+
}
|
113
|
+
.copyBtn[data-v-b8fc7a6b] {
|
114
|
+
width:50px;
|
115
|
+
padding: 1px 1px;
|
116
|
+
margin:0px 5px;
|
117
|
+
background: #ccc;
|
118
|
+
border: 1px solid transparent;
|
119
|
+
border-radius: 4px;
|
120
|
+
color: var(--pt-text-color-stair-light);
|
121
|
+
}
|
122
|
+
.copyBtn[data-v-b8fc7a6b]:hover {
|
123
|
+
background: var(--pt-bg-card-color-hover);
|
124
|
+
}
|
125
|
+
.copyBtn[data-v-b8fc7a6b]:active {
|
126
|
+
background: var(--pt-primary-color-light);
|
127
|
+
border-color: var(--pt-primary-color-normal);
|
128
|
+
}
|
129
|
+
.copyBtn[data-v-b8fc7a6b]:focus {
|
130
|
+
background: var(--pt-primary-color-light);
|
131
|
+
border-color: var(--pt-primary-color-normal);
|
132
|
+
}
|