From f99c96adfe3ec59712cdadf88d54416c7742cc21 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期日, 08 十月 2023 11:15:11 +0800 Subject: [PATCH] 代码更新 --- src/assets/js/rpc.js | 102 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 82 insertions(+), 20 deletions(-) diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js index a216f8b..f8da644 100644 --- a/src/assets/js/rpc.js +++ b/src/assets/js/rpc.js @@ -5,7 +5,8 @@ import { liushisijiayuanqudizhibianmafuwu, findAddressCandidates, - getDiKuanFanWei, + getLandBorder, + getParkBorder, ent_selectByName } from "../../api/api"; import vueEvents from "@/utils/vueEvent.js"; @@ -85,7 +86,7 @@ ]).then(result => { var that = this; store.queryLayer.data = []; - //浼乿涓� + //浼佷笟 var EntArr = result[0].result.filter(item => { return item.entName.includes(res); }); @@ -114,30 +115,22 @@ that.objArr.push(itemObj); }); //鍦板潡 - var LandArr = result[2].candidates.filter(item => { + var LandArr = result[2].candidates.filter((item) => { return item.attributes.QYMC.includes(res); - }); + }) // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭 - LandArr.sort((a, b) => - b.attributes.QYMC.length === a.attributes.QYMC.length - ? 0 - : a.attributes.QYMC.length > b.attributes.QYMC.length - ? 1 - : -1 - ); - - LandArr.forEach(val => { + LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1)) + LandArr.forEach((val) => { let itemObj = { type: "鍦板潡", name: val.attributes.QYMC, area: val.attributes.area, code: val.attributes["鍦板潡缂�"], lon: val.location.x, - lat: val.location.y + lat: val.location.y, }; - that.objArr.push(itemObj); + objArr.push(itemObj); }); - if (index == length) { if (that.objArr.length <= 0) { @@ -186,8 +179,73 @@ // 鏄剧ず鍦板潡鑼冨洿 getLandmass(res) { let that = this; - // 鍒掔嚎 - getDiKuanFanWei(res.lon, res.lat).then(response => { + getLandBorder(res.lon, res.lat).then(response => { + let center = { lon: 0, lat: 0 }; + let polygon = that.read(response.geometry); + if (polygon.length > 0) { + var geometry = []; + 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 + }); + } + if (that.lacationLine) { + sgworld.Creator.DeleteObject(that.lacationLine); + that.lacationLine = null; + } + that.lacationLine = sgworld.Creator.createPolyline( + geometry, + "#ff0000", + 1, + 0, + "绾�" + ); + } + }); + + // var positions = [ + // 108.95846, + // 34.22104, + // 108.96039, + // 34.22104, + // 108.96046, + // 34.21804, + // 108.95843, + // 34.21804, + // 108.95846, + // 34.22104 + // ]; + // var wall = Viewer.entities.add({ + // name: "绔嬩綋澧欐晥鏋�", + // wall: { + // positions: Cesium.Cartesian3.fromDegreesArray(positions), + + + // material: new Cesium.DynamicWallMaterialProperty({ + // color: Cesium.Color.RED, + // duration: 4000 + // }), + // // 璁剧疆楂樺害 + // maximumHeights: [20, 20, 20, 20, 20], + // minimumHeights: [0, 0, 0, 0, 0], + // } + // }) + + // setTimeout(() => { + // Viewer.flyTo(wall) + // }, 20000); + + }, + // 鏄剧ず鍥尯鑼冨洿 + getPark(res) { + let that = this; + getParkBorder(res.lon, res.lat).then(response => { let center = { lon: 0, lat: 0 }; let polygon = that.read(response.geometry); if (polygon.length > 0) { @@ -505,7 +563,11 @@ //娣诲姞瀹氫綅寮圭獥 this.setAddPointLocation(objdata); //鑼冨洿璋冪敤 - this.getLandmass(res); + if (res.type == '鍥尯') { + this.getPark(res) + } else if (res.type == '鍦板潡') { + this.getLandmass(res); + } }, setAddPointLocation(res) { @@ -642,7 +704,7 @@ }); setTimeout(() => { this.setClearPointFly(); - }, 5000); + }, 8000); }, changeCameraHeading(res) { var nextIndex = this.marksIndex + 1; -- Gitblit v1.9.3