From 6fe940335b9ca7f4640983929b070c00e401dc61 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 09 三月 2023 09:48:14 +0800 Subject: [PATCH] 综合展示点击模型显示详细信息 --- src/components/mapsdk.vue | 73 +++++++++++++++++++++++++----------- 1 files changed, 50 insertions(+), 23 deletions(-) diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 14c3520..0cc288b 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -351,7 +351,7 @@ > <el-card class="box-card"> <div slot="header"> - <span>{{$store.state.propertiesName.tabDesc || '灞炴�т俊鎭�'}}</span> + <span>灞炴�т俊鎭�</span> <div style="float: right; cursor: pointer"> <el-link type="primary" @@ -404,6 +404,7 @@ </el-card> </div> + <!--闄勪欢鍒楄〃寮圭獥--> <el-dialog title="闄勪欢鍒楄〃" @@ -622,8 +623,37 @@ this.$bus.$on('changemapType', (e) => { this.show2DMap = e; }); + //妯″瀷鎹曟崏 + this.catchmodel() }, methods: { + + catchmodel() { + var that = this; + window.pickedFeature; + window.pickedColor; + window.modeCatchHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + window.modeCatchHandler.setInputAction((event) => { + window.pickedFeature && (window.pickedFeature.color = window.pickedColor); + window.pickedFeature = sgworld.Viewer.scene.pick(event.position); + if (Cesium.defined(window.pickedFeature)) { + if (window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { + if (window.pickedFeature && window.pickedFeature.getProperty) { + window.pickedColor = window.pickedFeature.color + window.pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); + + this.$store.state.catModel = true; + this.$store.state.catModelInfo = { + id: pickedFeature.getProperty("id"), + name: pickedFeature.getProperty("name"), + layerId: pickedFeature.primitive.layerId, + layerName: pickedFeature.primitive.id + }; + } + } + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) + }, drawTerrainLevel() { this.clearTerrainLevel() var deep = parseFloat(this.terrainFrom.height) @@ -680,13 +710,13 @@ url: gaoDeBaseUrl[1].url, }) ); - this.layer3 = Viewer.imageryLayers.addImageryProvider( - new Cesium.UrlTemplateImageryProvider({ - url: gaoDeBaseUrl[2].url, - }) - ); + // this.layer3 = Viewer.imageryLayers.addImageryProvider( + // new Cesium.UrlTemplateImageryProvider({ + // url: gaoDeBaseUrl[2].url, + // }) + // ); - window.ImageLayer3 = this.layer3; + // window.ImageLayer3 = this.layer3; // for (var i in gaoDeBaseUrl) { // sgworld.Creator.createUrlTemplateImageryProvider( @@ -755,18 +785,18 @@ }, setLayerVisible() { if (this.isActive == true) { - // Viewer.imageryLayers._layers[1].show = true - // Viewer.imageryLayers._layers[2].show = false + Viewer.imageryLayers._layers[1].show = true + Viewer.imageryLayers._layers[2].show = false // Viewer.imageryLayers._layers[3].show = false - Viewer.imageryLayers.lower(this.layer2); - Viewer.imageryLayers.lower(this.layer3); + // Viewer.imageryLayers.lower(this.layer2); + // Viewer.imageryLayers.lower(this.layer3); } else { - Viewer.imageryLayers.raise(this.layer3); - Viewer.imageryLayers.raise(this.layer2); + // Viewer.imageryLayers.raise(this.layer3); + // Viewer.imageryLayers.raise(this.layer2); - // Viewer.imageryLayers._layers[1].show = false - // Viewer.imageryLayers._layers[2].show = true + Viewer.imageryLayers._layers[1].show = false + Viewer.imageryLayers._layers[2].show = true // Viewer.imageryLayers._layers[3].show = true } }, @@ -1200,8 +1230,12 @@ }, //鑾峰彇闄勪欢鍒楄〃 async getAttatchList() { + if (this.$store.state.propertiesName == null) { + return + } let tabName = this.$store.state.propertiesName.ns + '.' + this.$store.state.propertiesName.tab; let eventid = this.$store.state.propertiesInfo.eventid; + var obj = { eventid: eventid, tabName: tabName, @@ -1332,6 +1366,7 @@ padding: 10px 20px; } } + .terrainLevelBox { width: 350px; height: 370px; @@ -1339,14 +1374,6 @@ position: absolute; right: 8%; bottom: -11%; - } - .pathAnalysisBox { - width: 412px; - - z-index: 40; - position: absolute; - right: 8%; - bottom: 1%; } .box-card { -- Gitblit v1.9.3