From b0623031f7839e3f5b061f712c6ead91f57db5cf Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期日, 08 十月 2023 15:42:37 +0800 Subject: [PATCH] 地块展示效果优化 --- src/assets/js/rpc.js | 64 +++++++++++++++++++------------- 1 files changed, 38 insertions(+), 26 deletions(-) diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js index de220a1..939495f 100644 --- a/src/assets/js/rpc.js +++ b/src/assets/js/rpc.js @@ -128,7 +128,7 @@ lon: val.location.x, lat: val.location.y, }; - objArr.push(itemObj); + that.objArr.push(itemObj); }); if (index == length) { if (that.objArr.length <= 0) { @@ -177,10 +177,12 @@ }, // 鏄剧ず鍦板潡鑼冨洿 getLandmass(res) { - let that = this; - if (res.tpye == "鍥尯") { - } else if (res.tpye == "鍦板潡") { + let that = this; + if (res.type == "鍥尯") { + + } else if (res.type == "鍦板潡") { + getDiKuanFanWei(res.lon, res.lat).then(response => { let center = { lon: 0, lat: 0 }; let polygon = that.read(response.geometry); @@ -189,25 +191,29 @@ let points = polygon[0].split(","); for (let i = 0; i < points.length; i++) { let point = points[i].replace(/^\s+|\s+$/g, "").split(" "); - center.lon += parseFloat(point[0]) / points.length; - center.lat += parseFloat(point[1]) / points.length; - geometry.push({ - x: parseFloat(point[0]), - y: parseFloat(point[1]), - z: 0 - }); + // center.lon += parseFloat(point[0]) / points.length; + // center.lat += parseFloat(point[1]) / points.length; + geometry.push(parseFloat(point[0]), parseFloat(point[1])) + } - if (that.lacationLine) { - sgworld.Creator.DeleteObject(that.lacationLine); - that.lacationLine = null; - } - that.lacationLine = sgworld.Creator.createPolyline( - geometry, - "#ff0000", - 1, - 0, - "绾�" - ); + that.setLacationLineClear() + var position = Cesium.Cartesian3.fromDegreesArray(geometry) + + that.lacationLine = Viewer.entities.add({ + name: "绔嬩綋澧欐晥鏋�", + wall: { + positions: position, + + + material: new Cesium.DynamicWallMaterialProperty({ + color: Cesium.Color.RED, + duration: 4000 + }), + // 璁剧疆楂樺害 + maximumHeights: Array(position.length).fill(80), + minimumHeights: Array(position.length).fill(10), + } + }) } }); } @@ -760,10 +766,8 @@ this.instance && this.instance.$destroy(); this.instance = null; } - if (this.lacationLine) { - sgworld.Creator.DeleteObject(this.lacationLine); - this.lacationLine = null; - } + //鍦板潡 + this.setLacationLineClear() // 杞ㄨ抗绾� this.setClosePathLine(); // 婕父 @@ -772,6 +776,14 @@ this.setClearPointFly(); vueEvents.$emit("queryLayer", false); }, + + + setLacationLineClear() { + if (this.lacationLine) { + Viewer.entities.remove(this.lacationLine) + this.lacationLine = null; + } + }, setClearPointFly() { if (this.pointerFly) { this.pointerFly && this.pointerFly.end(); -- Gitblit v1.9.3