From b1e9c826c1ba48c3dc263039699636ed2ba3be4e Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 27 十一月 2023 11:16:06 +0800
Subject: [PATCH] 版本更新,图层管理添加矢量数据下载,视角高度增加放大限制

---
 src/assets/js/Map/temporaryTools.js |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/src/assets/js/Map/temporaryTools.js b/src/assets/js/Map/temporaryTools.js
index 007dc31..4873e60 100644
--- a/src/assets/js/Map/temporaryTools.js
+++ b/src/assets/js/Map/temporaryTools.js
@@ -1,5 +1,7 @@
 import store from "@/store";
 import { none } from "ol/centerconstraint";
+import * as turf from "@turf/turf";
+import WKT from "terraformer-wkt-parser";
 var temporaryTool = {
     isedit: false,
     removeTemporaryLayer(res) {
@@ -19,6 +21,48 @@
             }
         }
     },
+
+    getWKT(res) {
+        var geom = res.geometry;
+        var coord = null;
+    
+        switch (res.type) {
+            case "point":
+            case "label":
+                coord = turf.point([geom.lng, geom.lat]);
+                break;
+            case "polygon":
+                var std = [];
+                for (var i = 0; i < geom.length; i++) {
+                    if (i % 2 == 0) {
+                        std.push(geom[i], geom[i + 1])
+                    }
+                }
+                coord = turf.polygon([std]);
+                break;
+            case "polyline":
+                var std = [];
+                for (var i = 0; i < geom.length; i++) {
+                    if (i % 2 == 0) {
+                        std.push(geom[i], geom[i + 1])
+                    }
+                }
+                coord = turf.lineString([std]);
+                break;
+            case "rectangle":
+                coord = turf.polygon([[
+                    [geom[0], geom[1]],
+                    [geom[0], geom[3]],
+                    [geom[2], geom[3]],
+                    [geom[2], geom[1]],
+                    [geom[0], geom[1]],
+                ]]);
+                break;
+        }
+
+       return  WKT.convert(coord.geometry);
+     
+    },
     locationTemporaryLayer(res) {
         var entities = window.Viewer.entities._entities._array;
         for (var i in entities) {

--
Gitblit v1.9.3