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 | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 deletions(-) diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js index 8667074..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"; @@ -178,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) { @@ -497,7 +563,11 @@ //娣诲姞瀹氫綅寮圭獥 this.setAddPointLocation(objdata); //鑼冨洿璋冪敤 - this.getLandmass(res); + if (res.type == '鍥尯') { + this.getPark(res) + } else if (res.type == '鍦板潡') { + this.getLandmass(res); + } }, setAddPointLocation(res) { @@ -634,7 +704,7 @@ }); setTimeout(() => { this.setClearPointFly(); - }, 5000); + }, 8000); }, changeCameraHeading(res) { var nextIndex = this.marksIndex + 1; -- Gitblit v1.9.3