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.
@@ -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$2 = ["id"];
9
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
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$2);
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$2, [["__scopeId", "data-v-b4b79245"]]);
47
- const _withScopeId = (n) => (pushScopeId("data-v-11713398"), n = n(), popScopeId(), n);
48
- const _hoisted_1$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("img", { src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0i6aOO5qC86K6+6K6hIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC00MzAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlnLDlm77mjqfliLblsZXlvIAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2Mi4wMDAwMDAsIDI1Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLlnLDlm77nvKnlsI8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4LjAwMDAwMCwgMTc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjQgMTMgNCAxMSAyMCAxMSAyMCAxMyI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=" }, null, -1));
49
- const _hoisted_2$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, [
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$1 = [
54
- _hoisted_1$1,
55
- _hoisted_2$1
53
+ const _hoisted_3$2 = [
54
+ _hoisted_1$2,
55
+ _hoisted_2$2
56
56
  ];
57
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
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$1);
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$1, [["__scopeId", "data-v-11713398"]]);
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 {
@@ -8,8 +8,8 @@
8
8
  const map = new tudou3d.Map(id, mapOptions);
9
9
  return map;
10
10
  }
11
- const _hoisted_1$2 = ["id"];
12
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
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$2);
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$2, [["__scopeId", "data-v-b4b79245"]]);
50
- const _withScopeId = (n) => (vue.pushScopeId("data-v-11713398"), n = n(), vue.popScopeId(), n);
51
- const _hoisted_1$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", { src: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0i6aOO5qC86K6+6K6hIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0i5bel5YW3LeWcsOWbvuaOp+WItiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMC4wMDAwMDAsIC00MzAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlnLDlm77mjqfliLblsZXlvIAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2Mi4wMDAwMDAsIDI1Mi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLlnLDlm77nvKnlsI8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY4LjAwMDAwMCwgMTc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgcng9IjQiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0i6Lev5b6EIiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjQgMTMgNCAxMSAyMCAxMSAyMCAxMyI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=" }, null, -1));
52
- const _hoisted_2$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", null, [
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$1 = [
57
- _hoisted_1$1,
58
- _hoisted_2$1
56
+ const _hoisted_3$2 = [
57
+ _hoisted_1$2,
58
+ _hoisted_2$2
59
59
  ];
60
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
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$1);
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$1, [["__scopeId", "data-v-11713398"]]);
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
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "potato-map3d-ui2",
3
3
  "private": false,
4
- "version": "0.0.10",
4
+ "version": "0.0.11",
5
5
  "main": "./dist/map3d-ui2.umd.js",
6
6
  "module": "./dist/map3d-ui2.es.js",
7
7
  "type": "module",