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