From 10ecfd0b60442d209d1ab4b749580ffb638d1992 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期三, 08 五月 2024 14:44:04 +0800 Subject: [PATCH] 数字人更新 --- src/components/map/viewer.vue | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/components/map/viewer.vue b/src/components/map/viewer.vue index 33d48fa..7118128 100644 --- a/src/components/map/viewer.vue +++ b/src/components/map/viewer.vue @@ -1,8 +1,10 @@ <template> <div> <div id="sdkContainer"></div> + + <div class="listBox" v-show="viewer1Show && !isLand"> - <ul> + <ul id="viewer_lsyx"> <li v-for="(item, index) in arr" :key="index" @@ -12,6 +14,7 @@ </li> </ul> </div> + <layerTreeTwoScreen v-if="layerTreeTwoScreen" /> <!-- <div id="bottomInfo" v-html="bottomInfo"></div> --> <div @@ -67,6 +70,10 @@ import "animate.css"; import Bus from "@tools/Bus"; +import mapData from "../../../static/mapData"; +import mapMsg from "../../assets/js/mapMsg"; +import vueEvents from "@/utils/vueEvent.js"; + let activeLi, nLayer, LWLayer; export default { name: "viewer", @@ -96,28 +103,41 @@ }, computed: { ...mapState(["viewer1Show", "isLand", "layerTreeTwoScreen", "cesiumInit"]), + }, watch: { viewer1Show(newvalue, oldvalue) { if (!newvalue) { this.destroyImageLayer(); + } else { + if (!this.isLand) { + this.initLSYX(); + } } }, isLand(newvalue, oldvalue) { if (newvalue) { this.destroyImageLayer(); + } else { + this.initLSYX(); } }, }, mounted() { + let pathName = window.location.pathname.split("/"); + let StaticFileBaseUrl; + if (pathName.length != 2) { + StaticFileBaseUrl = `../../../${pathName[1]}/static/CimSDK/`; + } else { + StaticFileBaseUrl = `../../../static/CimSDK/`; + } this.$nextTick(function () { let that = this; //*********鍖椾含sdk************ window.sgworld = new SmartEarth.EarthCtrl( "sdkContainer", { - StaticFileBaseUrl: "../../../static/CimSDK/", - // StaticFileBaseUrl: "../../../SW/static/CimSDK/", + StaticFileBaseUrl: StaticFileBaseUrl, }, {}, {}, @@ -157,13 +177,15 @@ }, duration: 5, //椋炶鏃堕棿8s }); + // console.log("鍔犺浇瀹屾垚"); }, 14000); that.setCesiumInit(true); } ); window.Viewer = sgworld._Viewer; - - window.sgwfs = new SmartEarth.WFSTool(sgworld._Viewer,Cesium); + window.viewer = sgworld._Viewer; + sgworld._Viewer.scene.moon.show = false; + window.sgwfs = new SmartEarth.WFSTool(sgworld._Viewer, Cesium); Viewer.shadows = false; //娣卞害妫�娴� sgworld.Analysis.depthTestAgainstTerrain(true); @@ -171,6 +193,10 @@ // Viewer.scene.screenSpaceCameraController.enableCollisionDetection = false; Viewer.scene.globe.translucency.frontFaceAlpha = 0.5; Viewer.scene.globe.undergroundColor = undefined; + + mapMsg.init(); + // rpc.clickToCoordinates(); + // mapMsg.setTime(); //寮�鍚紪杈戝苟鍚敤灞炴�у脊绐� sgworld.Creator.SimpleGraphic.setEdit(true, { editProp: true, @@ -279,6 +305,11 @@ this.destroyImageLayer(); } }, + initLSYX() { + let ul = document.getElementById("viewer_lsyx"); + let lis = ul.getElementsByTagName("li"); + lis[19].click(); + }, destroyImageLayer() { if (activeLi) { activeLi.classList.remove("active"); @@ -309,7 +340,10 @@ nLayer = null; } nLayer = this.loadBJ54ImageLayer(year); - if (!LWLayer) { + if (!LWLayer || Viewer.imageryLayers.indexOf(LWLayer) < 0) { + if (LWLayer) { + LWLayer.destroy(); + } LWLayer = this.loadBJ54LWLayer(); } }, @@ -459,6 +493,11 @@ cancel: function () { if (cancelFn && typeof cancelFn === "function") { cancelFn(); + if (window.pickFeature && window.pickFeature.primitive) { + window.pickFeature.primitive.image = imgUrl; + window.pickFeature.primitive.scale = scale; + window.pickFeature = null; + } } }, end: function () { -- Gitblit v1.9.3