From b41b6bcda8d085b0c9b0f3d176e76fbed97557a8 Mon Sep 17 00:00:00 2001 From: 584911253@qq.com <584911253@qq.com> Date: 星期二, 14 三月 2023 16:15:47 +0800 Subject: [PATCH] 拾取分析功能开发 --- src/views/Synthesis/LeftMenu.vue | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 55 insertions(+), 2 deletions(-) diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index 4bb524a..bbde562 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -251,8 +251,8 @@ comprehensive_deletes, comprehensive_selectModelByPageAndCount, comprehensive_insertModel, - comprehensive_updateModel -} from "../../api/api.js"; + comprehensive_updateModel, selectByBuffer +} from '../../api/api.js' import { OverviewMap, defaults as defaultControls, @@ -471,6 +471,12 @@ name: "绌洪棿鏌ヨ", css: "twoMenu_imge52", }, + { + id: "e3", + label: "synthesis.pickup", + name: "鎷惧彇", + css: "twoMenu_imge52", + }, ], [ { @@ -669,6 +675,7 @@ }], modelClip:false, clippingPlanes:null, + showPickUp:false, }; }, methods: { @@ -1384,12 +1391,30 @@ setIquery(res) { switch (res) { case "e2": + Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean; this.$store.state.mapMenuBoxFlag = "1"; break; case "e1": + Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); this.$store.state.mapMenuBoolean = !this.$store.state.mapMenuBoolean; this.$store.state.mapMenuBoxFlag = "2"; + break; + //鎷惧彇鍔熻兘 + case "e3": + this.$store.state.mapMenuBoolean = false; + this.showPickUp = !this.showPickUp; + if (this.showPickUp){ + let that = this; + Viewer.screenSpaceEventHandler.setInputAction(function (event) { + let p = sgworld.Navigate.getMouseDegrees(event); + console.log(p); + that.getPickUpData(p); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }else { + this.$refs.queryinfo.closeAll(); + Viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); + } break; } }, @@ -2395,6 +2420,34 @@ handleAttatchChange(val) { this.attacgSelection = val; }, + //鎷惧彇鏁版嵁鑾峰彇 + async getPickUpData(info){ + let checkedLayers = JSON.parse(sessionStorage.getItem("checkedLayers")); + let showPop = false; + for (const item of checkedLayers) { + let name = item.url.replaceAll("LF:",""); + name = name.replaceAll("_",""); + let params = { + buffer:10, + limit:20, + name:name, + wkt:`POINT (${info.lon} ${info.lat})`, + } + const res = await selectByBuffer(params); + if (res.result && res.result.length > 0){ + this.$store.state.mapPopBoxFlag = "4"; + this.$store.state.pickUpPointInfo = info; + this.$refs && + this.$refs.queryinfo && + this.$refs.queryinfo.open("鎷惧彇鍒嗘瀽", null,); + showPop = true; + break; + } + } + if (!showPop){ + this.$message.warning("鏆傛棤鏁版嵁!"); + } + } }, mounted() { this.measureData = new Map(); -- Gitblit v1.9.3