cesium-pocket 0.1.6-alpha → 0.1.8-alpha

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.
@@ -0,0 +1,396 @@
1
+ import { EntityCollection as w, defined as A, ScreenSpaceEventType as h, CallbackPositionProperty as v, Color as c, ScreenSpaceEventHandler as x, Cartographic as E, Math as d, VerticalOrigin as b, Cartesian2 as B, LabelStyle as I, HeightReference as M, Cartesian3 as u, JulianDate as k, EllipsoidGeodesic as G, BoundingSphere as P, Transforms as T, Matrix4 as g, CallbackProperty as D, PolylineDashMaterialProperty as O, PolygonHierarchy as N } from "cesium";
2
+ const n = {
3
+ STOPED: Symbol("STOPED"),
4
+ //未开启
5
+ DRAWABLE: Symbol("DRAWABLE"),
6
+ //可绘制 绿鼠标 右键stop
7
+ // FIRST_POINT: Symbol('FIRST_POINT'),//已经绘制完起点 右键edit
8
+ EDITING: Symbol("EDITING"),
9
+ //编辑中 鼠标中键回退FIRST_POINT,右键则stop
10
+ DRAGABLE: Symbol("DRAGABLE"),
11
+ //拖拽中,只有选中并拖拽的时候才能够成立
12
+ DRAGING: Symbol("DRAGING"),
13
+ DONE: Symbol("DONE")
14
+ };
15
+ class F {
16
+ constructor(t) {
17
+ this.status = n.STOPED, this.cesiumDom = t;
18
+ }
19
+ /**
20
+ * 开始绘制
21
+ */
22
+ startStatus() {
23
+ this.status = n.DRAWABLE, this.cesiumDom.style.cursor = "crosshair";
24
+ }
25
+ /**
26
+ * 绘制完第一个点
27
+ */
28
+ // protected drawFirstPointStatus(): void {
29
+ // this.status = DRAW_STATUS.FIRST_POINT
30
+ // this.cesiumDom.style.cursor = 'crosshair'
31
+ // }
32
+ /**
33
+ * 进入编辑状态
34
+ */
35
+ editStatus() {
36
+ this.status = n.EDITING, this.cesiumDom.style.cursor = "default";
37
+ }
38
+ /**
39
+ * 重新进入绘制状态
40
+ */
41
+ // protected reDrawStatus(): void {
42
+ // this.status = DRAW_STATUS.FIRST_POINT
43
+ // this.cesiumDom.style.cursor = 'crosshair'
44
+ // }
45
+ /**
46
+ * 可拖拽
47
+ */
48
+ dragStatus() {
49
+ this.status = n.DRAGABLE, this.cesiumDom.style.cursor = "default";
50
+ }
51
+ /**
52
+ * 正在拖拽时
53
+ */
54
+ dragingStatus() {
55
+ this.status = n.DRAGING, this.cesiumDom.style.cursor = "grabbing";
56
+ }
57
+ /**
58
+ * 已完成
59
+ */
60
+ doneStatus() {
61
+ this.status = n.DONE, this.cesiumDom.style.cursor = "default";
62
+ }
63
+ stopStatus() {
64
+ this.status = n.STOPED, this.cesiumDom.style.cursor = "default";
65
+ }
66
+ getStatus() {
67
+ return this.status;
68
+ }
69
+ }
70
+ const Q = "data:image/png;base64,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";
71
+ class W extends F {
72
+ constructor(t, i) {
73
+ super(i), this.pointsCollection = new w(), this.currentDragPoint = null, this.mainData = [], this.textDom = null, this.point_L_ClickEvent = () => {
74
+ var e;
75
+ (e = this.handler) == null || e.setInputAction((s) => {
76
+ let a = this.viewer.camera.getPickRay(s.position), o = this.viewer.scene.globe.pick(a, this.viewer.scene);
77
+ A(o) && n.DRAWABLE == super.getStatus() && this.createBillboard(o);
78
+ }, h.LEFT_CLICK);
79
+ }, this.point_L_MIDDLE_ClickEvent = () => {
80
+ var e;
81
+ (e = this.handler) == null || e.setInputAction(() => {
82
+ n.DRAGABLE == super.getStatus() && this.currentDragPoint && (this.viewer.scene.screenSpaceCameraController.enableRotate = !1, confirm("确定要删除吗?") ? (this.viewer.entities.remove(this.currentDragPoint), this.pointsCollection.remove(this.currentDragPoint), this.pointsBackEdit(), this.setMainData(), this.viewer.scene.screenSpaceCameraController.enableRotate = !0) : (this.pointsBackEdit(), this.viewer.scene.screenSpaceCameraController.enableRotate = !0));
83
+ }, h.MIDDLE_CLICK);
84
+ }, this.point_R_ClickEvent = () => {
85
+ var e;
86
+ (e = this.handler) == null || e.setInputAction(() => {
87
+ n.DRAWABLE == super.getStatus() ? (super.editStatus(), this.setMainData()) : n.EDITING == super.getStatus() ? super.doneStatus() : n.DRAGABLE == super.getStatus() ? super.doneStatus() : n.DONE == super.getStatus() && (super.stopStatus(), this.pointsReset());
88
+ }, h.RIGHT_CLICK);
89
+ }, this.point_L_DownEvent = () => {
90
+ var e;
91
+ (e = this.handler) == null || e.setInputAction(() => {
92
+ n.DRAGABLE == super.getStatus() && (super.dragingStatus(), this.viewer.scene.screenSpaceCameraController.enableRotate = !1);
93
+ }, h.LEFT_DOWN);
94
+ }, this.point_L_UpEvent = () => {
95
+ var e;
96
+ (e = this.handler) == null || e.setInputAction(() => {
97
+ n.DRAGING == super.getStatus() && (this.pointsBackEdit(), this.viewer.scene.screenSpaceCameraController.enableRotate = !0);
98
+ }, h.LEFT_UP);
99
+ }, this.point_moveEvent = () => {
100
+ var e;
101
+ (e = this.handler) == null || e.setInputAction((s) => {
102
+ const a = this.viewer.camera.getPickRay(s.endPosition);
103
+ if (a) {
104
+ const o = this.viewer.scene.globe.pick(a, this.viewer.scene);
105
+ A(o) && (n.DRAWABLE == super.getStatus() ? this.showPosition(s.endPosition) : n.EDITING == super.getStatus() ? (this.textDom && this.viewer.container.removeChild(this.textDom), this.pickPoint(s.endPosition)) : n.DRAGABLE == super.getStatus() ? this.pointsBackEdit() : n.DRAGING == super.getStatus() && this.currentDragPoint && (this.currentDragPoint.position = new v(() => o, !1)));
106
+ }
107
+ }, h.MOUSE_MOVE);
108
+ }, this.pickPoint = (e) => {
109
+ let s = this.viewer.scene.pick(e);
110
+ s && s.id && s.id.properties.getValue().entityType == "POINT" && (s.id.point.color = c.YELLOW, super.dragStatus(), this.currentDragPoint = s.id);
111
+ }, this.viewer = t, this.viewer.entities.add(this.pointsCollection), this.textDom = document.createElement("div"), this.textDom.style.position = "absolute", this.textDom.style.zIndex = " 10", this.textDom.style.color = "white", this.textDom.style.backgroundColor = "black", this.textDom.style.padding = "2px 6px", this.viewer.container.appendChild(this.textDom);
112
+ }
113
+ start() {
114
+ super.startStatus(), this.handler || (this.handler = new x(this.viewer.scene.canvas)), this.point_L_ClickEvent(), this.point_L_MIDDLE_ClickEvent(), this.point_R_ClickEvent(), this.point_L_DownEvent(), this.point_L_UpEvent(), this.point_moveEvent();
115
+ }
116
+ getEntityCollection() {
117
+ return this.pointsCollection;
118
+ }
119
+ getAllPositionsData() {
120
+ return this.mainData;
121
+ }
122
+ pointsBackEdit() {
123
+ this.currentDragPoint && (this.currentDragPoint.point.color = c.TRANSPARENT, this.currentDragPoint = null, super.editStatus());
124
+ }
125
+ pointsReset() {
126
+ for (let t = 0, i = this.pointsCollection.values.length; t < i; t++) {
127
+ const e = this.pointsCollection.values[t];
128
+ this.viewer.entities.removeById(e.id);
129
+ }
130
+ this.pointsCollection.removeAll(), this.viewer.entities.removeById(this.pointsCollection.id);
131
+ }
132
+ showPosition(t) {
133
+ const i = this.viewer.camera.getPickRay(t);
134
+ if (this.textDom && i) {
135
+ const e = this.viewer.scene.globe.pick(i, this.viewer.scene), s = E.fromCartesian(e), a = d.toDegrees(s.longitude), o = d.toDegrees(s.latitude);
136
+ this.textDom.style.left = t.x + 4 + "px", this.textDom.style.top = t.y - 30 + "px", this.textDom.innerText = `${a.toFixed(4)}, ${o.toFixed(4)}`;
137
+ }
138
+ }
139
+ createBillboard(t) {
140
+ const i = E.fromCartesian(t), e = d.toDegrees(i.longitude), s = d.toDegrees(i.latitude), a = this.viewer.entities.add({
141
+ // 设置经纬度位置 (经度, 纬度, 海拔高度)
142
+ position: t,
143
+ label: {
144
+ text: `${e.toFixed(4)}, ${s.toFixed(4)}`,
145
+ font: "500 14px Helvetica",
146
+ style: I.FILL,
147
+ fillColor: c.WHITE,
148
+ pixelOffset: new B(80, -20),
149
+ //偏移量
150
+ showBackground: !0,
151
+ backgroundColor: new c(0, 0, 0, 0.6)
152
+ },
153
+ billboard: {
154
+ image: Q,
155
+ // 设置图片显示的宽度和高度 (像素)
156
+ width: 40,
157
+ height: 40,
158
+ // 可选项:缩放倍数
159
+ scale: 1,
160
+ verticalOrigin: b.BOTTOM
161
+ // 可选项:给图片叠加一个颜色,白色为原色
162
+ },
163
+ properties: {
164
+ entityType: "POINT"
165
+ },
166
+ show: !0
167
+ });
168
+ a && (this.mainData.push(t), this.pointsCollection.add(a));
169
+ }
170
+ createPoint(t) {
171
+ const i = this.viewer.entities.add({
172
+ position: t,
173
+ point: {
174
+ pixelSize: 6,
175
+ color: c.TRANSPARENT,
176
+ outlineColor: c.YELLOW,
177
+ outlineWidth: 2,
178
+ // disableDepthTestDistance: Number.POSITIVE_INFINITY,
179
+ heightReference: M.CLAMP_TO_GROUND
180
+ //贴地
181
+ },
182
+ properties: {
183
+ entityType: "POINT"
184
+ },
185
+ show: !0
186
+ });
187
+ i && (this.mainData.push(t), this.pointsCollection.add(i));
188
+ }
189
+ setMainData() {
190
+ this.mainData = [], this.pointsCollection.values.forEach((t) => {
191
+ var i;
192
+ if (t.point) {
193
+ const e = new u();
194
+ (i = t.position) == null || i.getValue(k.now(), e), this.mainData.push(e);
195
+ }
196
+ });
197
+ }
198
+ }
199
+ const U = (r, t) => {
200
+ const i = E.fromCartesian(r), e = E.fromCartesian(t);
201
+ return new G(i, e).surfaceDistance;
202
+ }, K = (r, t) => {
203
+ const i = new u();
204
+ return u.add(r, t, i), u.divideByScalar(i, 2, i), i;
205
+ }, f = (r, t, i, e = null) => {
206
+ let a = { ...{
207
+ text: i,
208
+ font: "16px sans-serif",
209
+ fillColor: c.ORANGE,
210
+ // outlineColor: Color.BLACK,
211
+ // outlineWidth: 1,
212
+ showBackground: !0,
213
+ backgroundColor: c.BLACK,
214
+ style: I.FILL_AND_OUTLINE
215
+ }, ...e }, o = {
216
+ position: t,
217
+ label: a
218
+ };
219
+ return r.entities.add(o);
220
+ }, C = (r) => {
221
+ let t = "";
222
+ return r > 1e3 ? t = (r / 1e3).toFixed(2) + " 公里" : t = r.toFixed(2) + " 米", t;
223
+ }, j = (r) => {
224
+ let t = "";
225
+ return r > 1e3 * 1e3 * 1e4 ? t = (r / (1e3 * 1e3 * 1e4)).toFixed(2) + " 万平方公里" : r > 1e3 * 1e3 ? t = (r / (1e3 * 1e3)).toFixed(2) + " 平方公里" : t = r.toFixed(2) + " 平方米", t;
226
+ }, Y = (r) => {
227
+ if (!r || r.length === 0) return null;
228
+ let t = 0, i = 0, e = 0;
229
+ const s = r.length;
230
+ return r.forEach((o) => {
231
+ t += o.x, i += o.y, e += o.z;
232
+ }), new u(
233
+ t / s,
234
+ i / s,
235
+ e / s
236
+ );
237
+ }, Z = (r) => {
238
+ if (r.length < 3) return 0;
239
+ const i = P.fromPoints(r).center, e = T.eastNorthUpToFixedFrame(i), s = g.inverse(e, new g()), a = r.map(
240
+ (l) => g.multiplyByPoint(s, l, new u())
241
+ );
242
+ let o = 0;
243
+ for (let l = 0; l < a.length; l++) {
244
+ const p = (l + 1) % a.length;
245
+ o += a[l].x * a[p].y, o -= a[p].x * a[l].y;
246
+ }
247
+ return Math.abs(o) / 2;
248
+ };
249
+ class V extends W {
250
+ constructor(t, i) {
251
+ super(t, i), this.mainLineEntity = null, this.dashLineEntity = null, this.dashEndData = new u(), this.currentIndex = -1, this.labelsCollection = new w(), this.line_L_ClickEvent = () => {
252
+ var e;
253
+ (e = this.handler) == null || e.setInputAction((s) => {
254
+ let a = this.viewer.camera.getPickRay(s.position), o = this.viewer.scene.globe.pick(a, this.viewer.scene);
255
+ A(o) && n.DRAWABLE == super.getStatus() && (super.createPoint(o), this.mainData.length > 0 && (this.mainLineEntity || this.createMainLine(), this.dashLineEntity || this.createDashLine()));
256
+ }, h.LEFT_CLICK);
257
+ }, this.line_R_ClickEvent = () => {
258
+ var e;
259
+ (e = this.handler) == null || e.setInputAction(() => {
260
+ n.DRAWABLE == super.getStatus() ? (super.editStatus(), this.dashLineEntity && (this.dashLineEntity.show = !1), this.pointsCollection.show = !0) : n.EDITING == super.getStatus() ? (super.doneStatus(), this.showDistance(), this.pointsCollection.show = !1) : n.DRAGABLE == super.getStatus() ? (super.doneStatus(), this.showDistance(), this.pointsCollection.show = !1) : n.DONE == super.getStatus() && (super.stopStatus(), this.pointsReset(), this.lineReset());
261
+ }, h.RIGHT_CLICK);
262
+ }, this.line_L_DownEvent = () => {
263
+ var e;
264
+ (e = this.handler) == null || e.setInputAction(() => {
265
+ n.DRAGABLE == super.getStatus() && (super.dragingStatus(), this.getEntityIndex(), this.viewer.scene.screenSpaceCameraController.enableRotate = !1);
266
+ }, h.LEFT_DOWN);
267
+ }, this.line_moveEvent = () => {
268
+ var e;
269
+ (e = this.handler) == null || e.setInputAction((s) => {
270
+ const a = this.viewer.camera.getPickRay(s.endPosition);
271
+ if (a) {
272
+ const o = this.viewer.scene.globe.pick(a, this.viewer.scene);
273
+ A(o) && (n.DRAWABLE == super.getStatus() ? this.mainData.length > 0 && (this.dashEndData = o) : n.EDITING == super.getStatus() ? this.pickPoint(s.endPosition) : n.DRAGABLE == super.getStatus() ? (this.pointsBackEdit(), this.currentIndex = -1) : n.DRAGING == super.getStatus() && this.moveLine(o));
274
+ }
275
+ }, h.MOUSE_MOVE);
276
+ }, this.createMainLine = () => {
277
+ this.mainLineEntity = this.viewer.entities.add({
278
+ polyline: {
279
+ positions: new D(() => this.mainData, !1),
280
+ // 宽度
281
+ width: 2,
282
+ // 线的颜色
283
+ material: c.RED,
284
+ // 是否显示
285
+ show: !0,
286
+ clampToGround: !0
287
+ },
288
+ properties: {
289
+ entityType: "LINE"
290
+ }
291
+ });
292
+ };
293
+ }
294
+ start() {
295
+ super.start(), this.viewer.entities.add(this.labelsCollection), this.pointsCollection.show = !1, this.line_L_ClickEvent(), this.line_R_ClickEvent(), this.line_L_DownEvent(), this.line_moveEvent();
296
+ }
297
+ moveLine(t) {
298
+ this.currentDragPoint && (this.currentDragPoint.position = new v(() => t, !1), this.currentIndex > -1 && (this.mainData[this.currentIndex] = t));
299
+ }
300
+ getEntityIndex() {
301
+ for (let t = 0, i = this.pointsCollection.values.length; t < i; t++)
302
+ if (this.pointsCollection.values[t].id == this.currentDragPoint.id) {
303
+ this.currentIndex = t;
304
+ break;
305
+ }
306
+ }
307
+ //创建临时虚线
308
+ createDashLine() {
309
+ this.dashLineEntity = this.viewer.entities.add({
310
+ polyline: {
311
+ positions: new D(() => {
312
+ const t = this.mainData.length;
313
+ let i = this.mainData[t - 1];
314
+ return this.dashEndData.x == 0 && this.dashEndData.y == 0 && this.dashEndData.z == 0 && (this.dashEndData = i), [i, this.dashEndData];
315
+ }, !1),
316
+ // 宽度
317
+ width: 2,
318
+ material: new O({
319
+ color: c.RED,
320
+ dashLength: 15
321
+ }),
322
+ // 是否显示
323
+ show: !0,
324
+ clampToGround: !0
325
+ },
326
+ properties: {
327
+ entityType: "DASHLINE"
328
+ }
329
+ });
330
+ }
331
+ lineReset() {
332
+ this.labelsCollection.show = !1, this.mainLineEntity && this.viewer.entities.remove(this.mainLineEntity), this.dashLineEntity && this.viewer.entities.remove(this.dashLineEntity), this.mainLineEntity = null, this.dashLineEntity = null, console.log(this.viewer.entities);
333
+ for (let t = 0, i = this.labelsCollection.values.length; t < i; t++) {
334
+ const e = this.labelsCollection.values[t];
335
+ this.viewer.entities.removeById(e.id);
336
+ }
337
+ this.labelsCollection.removeAll(), this.viewer.entities.removeById(this.labelsCollection.id);
338
+ }
339
+ showDistance() {
340
+ let t = 0, i = this.mainData.length;
341
+ for (let l = 1; l < i; l++) {
342
+ const p = this.mainData[l - 1], y = this.mainData[l], L = K(p, y), m = U(p, y);
343
+ t += m;
344
+ let S = C(m), R = f(this.viewer, L, S);
345
+ this.labelsCollection.add(R);
346
+ }
347
+ let e = { font: "20px", fillColor: c.WHITE, outlineWidth: 0 }, s = this.mainData[i - 1], a = "共: " + C(t), o = f(this.viewer, s, a, e);
348
+ this.labelsCollection.add(o);
349
+ }
350
+ }
351
+ class H extends V {
352
+ constructor(t, i) {
353
+ super(t, i), this.polygonEntity = null, this.areaText = null, this.polygon_L_ClickEvent = () => {
354
+ var e;
355
+ (e = this.handler) == null || e.setInputAction((s) => {
356
+ let a = this.viewer.camera.getPickRay(s.position), o = this.viewer.scene.globe.pick(a, this.viewer.scene);
357
+ A(o) && n.DRAWABLE == super.getStatus() && (super.createPoint(o), this.mainData.length > 0 && (this.mainLineEntity || this.createMainLine(), this.dashLineEntity || this.createDashLine(), !this.polygonEntity && this.mainData.length > 2 && this.createPolygon()));
358
+ }, h.LEFT_CLICK);
359
+ }, this.polygon_R_ClickEvent = () => {
360
+ var e;
361
+ (e = this.handler) == null || e.setInputAction(() => {
362
+ n.DRAWABLE == super.getStatus() ? (super.editStatus(), this.dashLineEntity && (this.dashLineEntity.show = !1), this.pointsCollection.show = !0) : n.EDITING == super.getStatus() ? (super.doneStatus(), this.showArea(), this.pointsCollection.show = !1) : n.DRAGABLE == super.getStatus() ? (super.doneStatus(), this.showArea(), this.pointsCollection.show = !1) : n.DONE == super.getStatus() && (super.stopStatus(), this.pointsReset(), this.lineReset(), this.polygonReset());
363
+ }, h.RIGHT_CLICK);
364
+ }, this.createPolygon = () => {
365
+ this.polygonEntity = this.viewer.entities.add({
366
+ polygon: {
367
+ hierarchy: new D(() => new N(this.mainData), !1),
368
+ material: c.RED.withAlpha(0.4),
369
+ outline: !1
370
+ },
371
+ properties: {
372
+ entityType: "POLYGON"
373
+ }
374
+ }), console.log(this.polygonEntity);
375
+ };
376
+ }
377
+ start() {
378
+ super.start(), this.polygon_L_ClickEvent(), this.polygon_R_ClickEvent();
379
+ }
380
+ showArea() {
381
+ let t = Y(this.mainData);
382
+ if (t) {
383
+ let i = Z(this.mainData);
384
+ const e = j(i);
385
+ this.areaText = f(this.viewer, t, e);
386
+ }
387
+ }
388
+ polygonReset() {
389
+ this.polygonEntity && this.viewer.entities.remove(this.polygonEntity), this.areaText && this.viewer.entities.remove(this.areaText);
390
+ }
391
+ }
392
+ export {
393
+ V as L,
394
+ W as P,
395
+ H as a
396
+ };
@@ -0,0 +1 @@
1
+ "use strict";const t=require("cesium"),a={STOPED:Symbol("STOPED"),DRAWABLE:Symbol("DRAWABLE"),EDITING:Symbol("EDITING"),DRAGABLE:Symbol("DRAGABLE"),DRAGING:Symbol("DRAGING"),DONE:Symbol("DONE")};class f{constructor(e){this.status=a.STOPED,this.cesiumDom=e}startStatus(){this.status=a.DRAWABLE,this.cesiumDom.style.cursor="crosshair"}editStatus(){this.status=a.EDITING,this.cesiumDom.style.cursor="default"}dragStatus(){this.status=a.DRAGABLE,this.cesiumDom.style.cursor="default"}dragingStatus(){this.status=a.DRAGING,this.cesiumDom.style.cursor="grabbing"}doneStatus(){this.status=a.DONE,this.cesiumDom.style.cursor="default"}stopStatus(){this.status=a.STOPED,this.cesiumDom.style.cursor="default"}getStatus(){return this.status}}const m="data:image/png;base64,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";class A extends f{constructor(e,s){super(s),this.pointsCollection=new t.EntityCollection,this.currentDragPoint=null,this.mainData=[],this.textDom=null,this.point_L_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(n=>{let o=this.viewer.camera.getPickRay(n.position),r=this.viewer.scene.globe.pick(o,this.viewer.scene);t.defined(r)&&a.DRAWABLE==super.getStatus()&&this.createBillboard(r)},t.ScreenSpaceEventType.LEFT_CLICK)},this.point_L_MIDDLE_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAGABLE==super.getStatus()&&this.currentDragPoint&&(this.viewer.scene.screenSpaceCameraController.enableRotate=!1,confirm("确定要删除吗?")?(this.viewer.entities.remove(this.currentDragPoint),this.pointsCollection.remove(this.currentDragPoint),this.pointsBackEdit(),this.setMainData(),this.viewer.scene.screenSpaceCameraController.enableRotate=!0):(this.pointsBackEdit(),this.viewer.scene.screenSpaceCameraController.enableRotate=!0))},t.ScreenSpaceEventType.MIDDLE_CLICK)},this.point_R_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAWABLE==super.getStatus()?(super.editStatus(),this.setMainData()):a.EDITING==super.getStatus()?super.doneStatus():a.DRAGABLE==super.getStatus()?super.doneStatus():a.DONE==super.getStatus()&&(super.stopStatus(),this.pointsReset())},t.ScreenSpaceEventType.RIGHT_CLICK)},this.point_L_DownEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAGABLE==super.getStatus()&&(super.dragingStatus(),this.viewer.scene.screenSpaceCameraController.enableRotate=!1)},t.ScreenSpaceEventType.LEFT_DOWN)},this.point_L_UpEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAGING==super.getStatus()&&(this.pointsBackEdit(),this.viewer.scene.screenSpaceCameraController.enableRotate=!0)},t.ScreenSpaceEventType.LEFT_UP)},this.point_moveEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(n=>{const o=this.viewer.camera.getPickRay(n.endPosition);if(o){const r=this.viewer.scene.globe.pick(o,this.viewer.scene);t.defined(r)&&(a.DRAWABLE==super.getStatus()?this.showPosition(n.endPosition):a.EDITING==super.getStatus()?(this.textDom&&this.viewer.container.removeChild(this.textDom),this.pickPoint(n.endPosition)):a.DRAGABLE==super.getStatus()?this.pointsBackEdit():a.DRAGING==super.getStatus()&&this.currentDragPoint&&(this.currentDragPoint.position=new t.CallbackPositionProperty(()=>r,!1)))}},t.ScreenSpaceEventType.MOUSE_MOVE)},this.pickPoint=i=>{let n=this.viewer.scene.pick(i);n&&n.id&&n.id.properties.getValue().entityType=="POINT"&&(n.id.point.color=t.Color.YELLOW,super.dragStatus(),this.currentDragPoint=n.id)},this.viewer=e,this.viewer.entities.add(this.pointsCollection),this.textDom=document.createElement("div"),this.textDom.style.position="absolute",this.textDom.style.zIndex=" 10",this.textDom.style.color="white",this.textDom.style.backgroundColor="black",this.textDom.style.padding="2px 6px",this.viewer.container.appendChild(this.textDom)}start(){super.startStatus(),this.handler||(this.handler=new t.ScreenSpaceEventHandler(this.viewer.scene.canvas)),this.point_L_ClickEvent(),this.point_L_MIDDLE_ClickEvent(),this.point_R_ClickEvent(),this.point_L_DownEvent(),this.point_L_UpEvent(),this.point_moveEvent()}getEntityCollection(){return this.pointsCollection}getAllPositionsData(){return this.mainData}pointsBackEdit(){this.currentDragPoint&&(this.currentDragPoint.point.color=t.Color.TRANSPARENT,this.currentDragPoint=null,super.editStatus())}pointsReset(){for(let e=0,s=this.pointsCollection.values.length;e<s;e++){const i=this.pointsCollection.values[e];this.viewer.entities.removeById(i.id)}this.pointsCollection.removeAll(),this.viewer.entities.removeById(this.pointsCollection.id)}showPosition(e){const s=this.viewer.camera.getPickRay(e);if(this.textDom&&s){const i=this.viewer.scene.globe.pick(s,this.viewer.scene),n=t.Cartographic.fromCartesian(i),o=t.Math.toDegrees(n.longitude),r=t.Math.toDegrees(n.latitude);this.textDom.style.left=e.x+4+"px",this.textDom.style.top=e.y-30+"px",this.textDom.innerText=`${o.toFixed(4)}, ${r.toFixed(4)}`}}createBillboard(e){const s=t.Cartographic.fromCartesian(e),i=t.Math.toDegrees(s.longitude),n=t.Math.toDegrees(s.latitude),o=this.viewer.entities.add({position:e,label:{text:`${i.toFixed(4)}, ${n.toFixed(4)}`,font:"500 14px Helvetica",style:t.LabelStyle.FILL,fillColor:t.Color.WHITE,pixelOffset:new t.Cartesian2(80,-20),showBackground:!0,backgroundColor:new t.Color(0,0,0,.6)},billboard:{image:m,width:40,height:40,scale:1,verticalOrigin:t.VerticalOrigin.BOTTOM},properties:{entityType:"POINT"},show:!0});o&&(this.mainData.push(e),this.pointsCollection.add(o))}createPoint(e){const s=this.viewer.entities.add({position:e,point:{pixelSize:6,color:t.Color.TRANSPARENT,outlineColor:t.Color.YELLOW,outlineWidth:2,heightReference:t.HeightReference.CLAMP_TO_GROUND},properties:{entityType:"POINT"},show:!0});s&&(this.mainData.push(e),this.pointsCollection.add(s))}setMainData(){this.mainData=[],this.pointsCollection.values.forEach(e=>{var s;if(e.point){const i=new t.Cartesian3;(s=e.position)==null||s.getValue(t.JulianDate.now(),i),this.mainData.push(i)}})}}const v=(l,e)=>{const s=t.Cartographic.fromCartesian(l),i=t.Cartographic.fromCartesian(e);return new t.EllipsoidGeodesic(s,i).surfaceDistance},w=(l,e)=>{const s=new t.Cartesian3;return t.Cartesian3.add(l,e,s),t.Cartesian3.divideByScalar(s,2,s),s},p=(l,e,s,i=null)=>{let o={...{text:s,font:"16px sans-serif",fillColor:t.Color.ORANGE,showBackground:!0,backgroundColor:t.Color.BLACK,style:t.LabelStyle.FILL_AND_OUTLINE},...i},r={position:e,label:o};return l.entities.add(r)},d=l=>{let e="";return l>1e3?e=(l/1e3).toFixed(2)+" 公里":e=l.toFixed(2)+" 米",e},I=l=>{let e="";return l>1e3*1e3*1e4?e=(l/(1e3*1e3*1e4)).toFixed(2)+" 万平方公里":l>1e3*1e3?e=(l/(1e3*1e3)).toFixed(2)+" 平方公里":e=l.toFixed(2)+" 平方米",e},S=l=>{if(!l||l.length===0)return null;let e=0,s=0,i=0;const n=l.length;return l.forEach(r=>{e+=r.x,s+=r.y,i+=r.z}),new t.Cartesian3(e/n,s/n,i/n)},L=l=>{if(l.length<3)return 0;const s=t.BoundingSphere.fromPoints(l).center,i=t.Transforms.eastNorthUpToFixedFrame(s),n=t.Matrix4.inverse(i,new t.Matrix4),o=l.map(h=>t.Matrix4.multiplyByPoint(n,h,new t.Cartesian3));let r=0;for(let h=0;h<o.length;h++){const c=(h+1)%o.length;r+=o[h].x*o[c].y,r-=o[c].x*o[h].y}return Math.abs(r)/2};class g extends A{constructor(e,s){super(e,s),this.mainLineEntity=null,this.dashLineEntity=null,this.dashEndData=new t.Cartesian3,this.currentIndex=-1,this.labelsCollection=new t.EntityCollection,this.line_L_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(n=>{let o=this.viewer.camera.getPickRay(n.position),r=this.viewer.scene.globe.pick(o,this.viewer.scene);t.defined(r)&&a.DRAWABLE==super.getStatus()&&(super.createPoint(r),this.mainData.length>0&&(this.mainLineEntity||this.createMainLine(),this.dashLineEntity||this.createDashLine()))},t.ScreenSpaceEventType.LEFT_CLICK)},this.line_R_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAWABLE==super.getStatus()?(super.editStatus(),this.dashLineEntity&&(this.dashLineEntity.show=!1),this.pointsCollection.show=!0):a.EDITING==super.getStatus()?(super.doneStatus(),this.showDistance(),this.pointsCollection.show=!1):a.DRAGABLE==super.getStatus()?(super.doneStatus(),this.showDistance(),this.pointsCollection.show=!1):a.DONE==super.getStatus()&&(super.stopStatus(),this.pointsReset(),this.lineReset())},t.ScreenSpaceEventType.RIGHT_CLICK)},this.line_L_DownEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAGABLE==super.getStatus()&&(super.dragingStatus(),this.getEntityIndex(),this.viewer.scene.screenSpaceCameraController.enableRotate=!1)},t.ScreenSpaceEventType.LEFT_DOWN)},this.line_moveEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(n=>{const o=this.viewer.camera.getPickRay(n.endPosition);if(o){const r=this.viewer.scene.globe.pick(o,this.viewer.scene);t.defined(r)&&(a.DRAWABLE==super.getStatus()?this.mainData.length>0&&(this.dashEndData=r):a.EDITING==super.getStatus()?this.pickPoint(n.endPosition):a.DRAGABLE==super.getStatus()?(this.pointsBackEdit(),this.currentIndex=-1):a.DRAGING==super.getStatus()&&this.moveLine(r))}},t.ScreenSpaceEventType.MOUSE_MOVE)},this.createMainLine=()=>{this.mainLineEntity=this.viewer.entities.add({polyline:{positions:new t.CallbackProperty(()=>this.mainData,!1),width:2,material:t.Color.RED,show:!0,clampToGround:!0},properties:{entityType:"LINE"}})}}start(){super.start(),this.viewer.entities.add(this.labelsCollection),this.pointsCollection.show=!1,this.line_L_ClickEvent(),this.line_R_ClickEvent(),this.line_L_DownEvent(),this.line_moveEvent()}moveLine(e){this.currentDragPoint&&(this.currentDragPoint.position=new t.CallbackPositionProperty(()=>e,!1),this.currentIndex>-1&&(this.mainData[this.currentIndex]=e))}getEntityIndex(){for(let e=0,s=this.pointsCollection.values.length;e<s;e++)if(this.pointsCollection.values[e].id==this.currentDragPoint.id){this.currentIndex=e;break}}createDashLine(){this.dashLineEntity=this.viewer.entities.add({polyline:{positions:new t.CallbackProperty(()=>{const e=this.mainData.length;let s=this.mainData[e-1];return this.dashEndData.x==0&&this.dashEndData.y==0&&this.dashEndData.z==0&&(this.dashEndData=s),[s,this.dashEndData]},!1),width:2,material:new t.PolylineDashMaterialProperty({color:t.Color.RED,dashLength:15}),show:!0,clampToGround:!0},properties:{entityType:"DASHLINE"}})}lineReset(){this.labelsCollection.show=!1,this.mainLineEntity&&this.viewer.entities.remove(this.mainLineEntity),this.dashLineEntity&&this.viewer.entities.remove(this.dashLineEntity),this.mainLineEntity=null,this.dashLineEntity=null,console.log(this.viewer.entities);for(let e=0,s=this.labelsCollection.values.length;e<s;e++){const i=this.labelsCollection.values[e];this.viewer.entities.removeById(i.id)}this.labelsCollection.removeAll(),this.viewer.entities.removeById(this.labelsCollection.id)}showDistance(){let e=0,s=this.mainData.length;for(let h=1;h<s;h++){const c=this.mainData[h-1],u=this.mainData[h],D=w(c,u),E=v(c,u);e+=E;let C=d(E),y=p(this.viewer,D,C);this.labelsCollection.add(y)}let i={font:"20px",fillColor:t.Color.WHITE,outlineWidth:0},n=this.mainData[s-1],o="共: "+d(e),r=p(this.viewer,n,o,i);this.labelsCollection.add(r)}}class R extends g{constructor(e,s){super(e,s),this.polygonEntity=null,this.areaText=null,this.polygon_L_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(n=>{let o=this.viewer.camera.getPickRay(n.position),r=this.viewer.scene.globe.pick(o,this.viewer.scene);t.defined(r)&&a.DRAWABLE==super.getStatus()&&(super.createPoint(r),this.mainData.length>0&&(this.mainLineEntity||this.createMainLine(),this.dashLineEntity||this.createDashLine(),!this.polygonEntity&&this.mainData.length>2&&this.createPolygon()))},t.ScreenSpaceEventType.LEFT_CLICK)},this.polygon_R_ClickEvent=()=>{var i;(i=this.handler)==null||i.setInputAction(()=>{a.DRAWABLE==super.getStatus()?(super.editStatus(),this.dashLineEntity&&(this.dashLineEntity.show=!1),this.pointsCollection.show=!0):a.EDITING==super.getStatus()?(super.doneStatus(),this.showArea(),this.pointsCollection.show=!1):a.DRAGABLE==super.getStatus()?(super.doneStatus(),this.showArea(),this.pointsCollection.show=!1):a.DONE==super.getStatus()&&(super.stopStatus(),this.pointsReset(),this.lineReset(),this.polygonReset())},t.ScreenSpaceEventType.RIGHT_CLICK)},this.createPolygon=()=>{this.polygonEntity=this.viewer.entities.add({polygon:{hierarchy:new t.CallbackProperty(()=>new t.PolygonHierarchy(this.mainData),!1),material:t.Color.RED.withAlpha(.4),outline:!1},properties:{entityType:"POLYGON"}}),console.log(this.polygonEntity)}}start(){super.start(),this.polygon_L_ClickEvent(),this.polygon_R_ClickEvent()}showArea(){let e=S(this.mainData);if(e){let s=L(this.mainData);const i=I(s);this.areaText=p(this.viewer,e,i)}}polygonReset(){this.polygonEntity&&this.viewer.entities.remove(this.polygonEntity),this.areaText&&this.viewer.entities.remove(this.areaText)}}exports.LineDrawer=g;exports.PointDrawer=A;exports.PolygonDrawer=R;
@@ -0,0 +1 @@
1
+ "use strict";const o=require("cesium"),d={DEFAULT:Symbol("default"),TEXT:Symbol("text"),ICON:Symbol("icon")},m={HOSPITAL:{name:"hospital",color:o.Color.RED},SCHOOL:{name:"school-JP",color:o.Color.BLUE},LIBRARY:{name:"library",color:o.Color.BLUE},BANK:{name:"bank-JP",color:o.Color.BLUE},AIRPORT:{name:"airport",color:o.Color.BLUE},FIRE_STATION:{name:"fire-station",color:o.Color.RED},BUS:{name:"airport",color:o.Color.BLUE},GAS_STATION:{name:"charging-station",color:o.Color.BLUE},PARKING:{name:"parking",color:o.Color.BLUE},POLICE:{name:"police",color:o.Color.BLUE},RAIL:{name:"rail",color:o.Color.BLUE},RESTAURANT:{name:"restaurant",color:o.Color.BLUE}},c="cp-pin",E=(t,n,e,i=48)=>{const l=new o.PinBuilder;return Promise.resolve(l.fromMakiIconId(e.name,e.color,i)).then(function(r){return t.entities.add({id:"def"+s(),name:e.name,position:n,billboard:{image:r.toDataURL(),verticalOrigin:o.VerticalOrigin.BOTTOM,disableDepthTestDistance:0},properties:{cpType:c}})}).catch(r=>(console.error("图标获取失败"+r),null))},T=(t,n,e="",i=o.Color.BLUE,l=48)=>{const r=new o.PinBuilder;return t.entities.add({id:"txt"+s(),name:e,position:n,billboard:{image:r.fromText(e,i,l).toDataURL(),verticalOrigin:o.VerticalOrigin.BOTTOM,disableDepthTestDistance:0},properties:{cpType:c}})},p=(t,n,e,i=o.Color.BLUE,l=48)=>{const r=new o.PinBuilder;return Promise.resolve(r.fromUrl(e,i,l)).then(a=>t.entities.add({id:"img"+s(),name:"",position:n,billboard:{image:a.toDataURL(),verticalOrigin:o.VerticalOrigin.BOTTOM,disableDepthTestDistance:0},properties:{cpType:c}})).catch(a=>(console.error("图标获取失败"+a),null))},s=()=>new Date().getTime().toString();exports.CP_TYPE=c;exports.PIN_CATEGORY=m;exports.PIN_MODE=d;exports.addDefault=E;exports.addImg=p;exports.addText=T;
@@ -0,0 +1,75 @@
1
+ import { Color as e, PinBuilder as l, VerticalOrigin as s } from "cesium";
2
+ const T = {
3
+ DEFAULT: Symbol("default"),
4
+ TEXT: Symbol("text"),
5
+ ICON: Symbol("icon")
6
+ }, B = {
7
+ HOSPITAL: { name: "hospital", color: e.RED },
8
+ SCHOOL: { name: "school-JP", color: e.BLUE },
9
+ LIBRARY: { name: "library", color: e.BLUE },
10
+ BANK: { name: "bank-JP", color: e.BLUE },
11
+ AIRPORT: { name: "airport", color: e.BLUE },
12
+ FIRE_STATION: { name: "fire-station", color: e.RED },
13
+ BUS: { name: "airport", color: e.BLUE },
14
+ GAS_STATION: { name: "charging-station", color: e.BLUE },
15
+ PARKING: { name: "parking", color: e.BLUE },
16
+ POLICE: { name: "police", color: e.BLUE },
17
+ RAIL: { name: "rail", color: e.BLUE },
18
+ RESTAURANT: { name: "restaurant", color: e.BLUE }
19
+ }, m = "cp-pin", L = (o, r, t, i = 48) => {
20
+ const a = new l();
21
+ return Promise.resolve(
22
+ a.fromMakiIconId(t.name, t.color, i)
23
+ ).then(function(n) {
24
+ return o.entities.add({
25
+ id: "def" + p(),
26
+ name: t.name,
27
+ position: r,
28
+ billboard: {
29
+ image: n.toDataURL(),
30
+ verticalOrigin: s.BOTTOM,
31
+ disableDepthTestDistance: 0
32
+ // 开启深度测试,被地球/地形遮挡
33
+ },
34
+ properties: { cpType: m }
35
+ });
36
+ }).catch((n) => (console.error("图标获取失败" + n), null));
37
+ }, O = (o, r, t = "", i = e.BLUE, a = 48) => {
38
+ const n = new l();
39
+ return o.entities.add({
40
+ id: "txt" + p(),
41
+ name: t,
42
+ position: r,
43
+ billboard: {
44
+ image: n.fromText(t, i, a).toDataURL(),
45
+ verticalOrigin: s.BOTTOM,
46
+ disableDepthTestDistance: 0
47
+ // 开启深度测试,被地球/地形遮挡
48
+ },
49
+ properties: { cpType: m }
50
+ });
51
+ }, U = (o, r, t, i = e.BLUE, a = 48) => {
52
+ const n = new l();
53
+ return Promise.resolve(
54
+ n.fromUrl(t, i, a)
55
+ ).then((c) => o.entities.add({
56
+ id: "img" + p(),
57
+ name: "",
58
+ position: r,
59
+ billboard: {
60
+ image: c.toDataURL(),
61
+ verticalOrigin: s.BOTTOM,
62
+ disableDepthTestDistance: 0
63
+ // 开启深度测试,被地球/地形遮挡
64
+ },
65
+ properties: { cpType: m }
66
+ })).catch((c) => (console.error("图标获取失败" + c), null));
67
+ }, p = () => (/* @__PURE__ */ new Date()).getTime().toString();
68
+ export {
69
+ m as C,
70
+ T as P,
71
+ B as a,
72
+ L as b,
73
+ U as c,
74
+ O as d
75
+ };