From dbb352c9d988dfac83da979023fe81a0a02f88e9 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期五, 12 四月 2024 16:34:20 +0800 Subject: [PATCH] 与数字人合并 --- src/components/menu/tools/special.vue | 74 ++++++++++++++++++++++++++++++++----- 1 files changed, 64 insertions(+), 10 deletions(-) diff --git a/src/components/menu/tools/special.vue b/src/components/menu/tools/special.vue index 53e8e52..efe2c08 100644 --- a/src/components/menu/tools/special.vue +++ b/src/components/menu/tools/special.vue @@ -237,26 +237,33 @@ } </style> <script> +import Vue from "vue"; +import store from "@/utils/store"; +import poiLayer from "@/components/poplayer/main"; +import rpc from "@/assets/js/rpc"; +import mapData from "../../../../static/mapData"; +import mapMsg from "@/assets/js/mapMsg"; +import vueEvents from "@/utils/vueEvent.js"; +let PoiLayerConstructor = Vue.extend(poiLayer); + import axios from "axios"; import { mapState, mapMutations } from "vuex"; import Bus from "../../tools/Bus"; import { roman } from "../../../assets/json/index.js"; import URLInCode from "@/assets/js/urlInCode"; import keyName from "@/utils/poiKeys"; -import LayerField from "../../../../static/NameConf"; -let handler; +import LayerField from "@/utils/NameConf"; + +let handler, buildingPolygon, objdata, video, promiseS3M; +window.divPoint3 = null; +window.instance = null; let tooltipHTML; window.divPoint1 = null; window.pickFeature = null; window.imgUrl = null; window.scale = null; -let buildingPolygon; -let tooltip; -let lineArr = []; -let video; -let promiseS3M; //浜ら�氬浘灞� -let panoramaLayer; +window.panoramaLayer = null; export default { name: "special", data() { @@ -578,13 +585,11 @@ }, setCesuimHandle() { var that = this; - Bus.$on("clearSelectObject", this.clearSelectObject); handler && handler.destroy(); handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); handler.setInputAction((event) => { let nPickFeature = sgworld.Viewer.scene.pick(event.position); - if (Cesium.defined(nPickFeature)) { this.resetImg(); if (buildingPolygon) { @@ -790,6 +795,55 @@ ); } }); + } else if ( + nPickFeature.id.fid && + nPickFeature.id.fid.includes("鍏嶈垂浣忔墍绌洪棿0131") + ) { + let obj = nPickFeature.id.attributes; + let lon = 116.50592; + let lat = 39.798999; + if (divPoint1) { + divPoint1.deleteObject(); + } + tooltipHTML = ""; + //閲嶇疆LayerField鏁版嵁 + for (let item in LayerField) { + LayerField[item] = 0; + } + // 鍒犻櫎瀛楁 + let { Id, ...userData } = obj; + // 鐩存帴灞曠ず + for (let itemName in userData) { + let value = userData[itemName]; + let CnName = keyName[itemName] || itemName; + value && (tooltipHTML += `<p>${CnName}锛�${value || "鏃�"}</p>`); + } + let description = ` + <div id="pointInfoBox" class="pointInfoBox" style="pointer-events:auto;"> + <span style="position: absolute; right: 12px; top: 6px;">脳</span> + ${tooltipHTML} + </div> + `; + divPoint1 = sgworld.Creator.createDivPoint( + "璇︾粏淇℃伅", + { + lon: lon, + lat: lat, + height: 50, + }, + { + type: "custom", + offset: ["c", 50], + description, + onclick(data) { + divPoint1 && divPoint1.deleteObject(); + }, + } + ); + //鍏抽棴鍦板潡淇℃伅寮圭獥 + Bus.$emit("closeLandInfoPop", true); + layuiLayer.close(SmartEarthPopupData.layerProp); + this.$store.commit("description", obj); } // else if (nPickFeature.primitive instanceof Cesium.GroundPrimitive) { // let wmsLayer = this.$store.state.selectedLayers.filter((item) => { -- Gitblit v1.9.3