From 266bf7454bcd0e3d814c974c6b0b05349fe549db Mon Sep 17 00:00:00 2001 From: yxl <584911253@qq.com> Date: 星期二, 14 一月 2025 17:16:11 +0800 Subject: [PATCH] commit --- src/assets/js/mapSetFunc.js | 79 ++++++++++++++++++--------------------- 1 files changed, 36 insertions(+), 43 deletions(-) diff --git a/src/assets/js/mapSetFunc.js b/src/assets/js/mapSetFunc.js index 2c8d2f9..7b8c046 100644 --- a/src/assets/js/mapSetFunc.js +++ b/src/assets/js/mapSetFunc.js @@ -13,6 +13,9 @@ case "aroundPoi": this.creatAroundPoi(res); break; + case "getStrike": + this.creatAroundPoi(res); + break; case "queryRelationship": this.creatQueryRelationship(res); break; @@ -395,6 +398,7 @@ }); this.addRaderLayer(res); }, + //闆疯揪閬僵鎵弿 addRaderLayer(res) { //闆疯揪閬僵鎵弿锛堣嚜瀹氫箟锛� const option = { @@ -421,7 +425,13 @@ }, //瑙嗛敟 addTetrahedron(res) { - res.data.forEach((item,index) => { + const modelLayer = mapServer.listData.filter((obj) => { + if (obj.name == config.modelLayer) { + return obj; + } + }); + let ids = []; + res.data.forEach((item, index) => { const tetrahedron = earthCtrl.factory.addTetrahedron({ position: { lon: item.lontitude, @@ -429,58 +439,41 @@ height: item.height }, multiple: 0.05, - scale: new SmartEarth.Cesium.Cartesian3(100, 100, 100), + scale: new SmartEarth.Cesium.Cartesian3(30, 30, 30), color: "#FF0000", outlineColor: "#FF0000" }); if (index == 0) { - earthCtrl.camera.flyTo(item.lontitude, item.lattitude, 5000, 0, -90, 0, 2); - const modelLayer = mapServer.listData.filter((obj) => { - if (obj.name == config.modelLayer) { - return obj; - } + // 灏嗙粡绾害杞崲涓篊artesian3鍧愭爣 + const position = Cesium.Cartesian3.fromDegrees(item.lontitude, item.lattitude - 0.01, 500); + // 鍒涘缓涓�涓竟鐣岀悆 (Bounding Sphere)锛屽亣璁惧崐寰勪负500 + const boundingSphere = new Cesium.BoundingSphere(position, 1000); + // 浣跨敤 flyToBoundingSphere 瀹氫綅鐩告満 + earthCtrl.viewer.camera.flyToBoundingSphere(boundingSphere, { + duration: 3.0, // 椋炶鐨勬椂闂� + offset: new Cesium.HeadingPitchRange(0, Cesium.Math.toRadians(-30), 6.28316028073749), }); - // debugger - if (modelLayer.length <= 0) return; - // earthCtrl.userScene.flyTo(modelLayer[0].layer); - // modelLayer[0].layer.style = new Cesium.Cesium3DTileStyle({ - // color: { - // evaluateColor: (feature) => { - // const id = feature.getProperty("id"); - // // if (id === 'de9b9f1f-bea5-11ef-bbd1-ac82473c08a6') { - // // debugger - // // // const boundingVolume = feature.tileset.root.boundingVolume - // // // const center = Cesium.BoundingVolume.computeBoundingVolume(boundingVolume, feature.tileset.root.transform); - // // // debugger - // // earthCtrl.viewer.camera.flyTo({ - // // destination: center, - // // duration: 2.0 - // // }); - // // // earthCtrl.userScene.flyTo(feature); - // // // return new SmartEarth.Cesium.Color.fromCssColorString( - // // // '#FF0000' - // // // ); - // // } - // // console.log("id**********", id); - // // const color = res.filter((item) => { - // // if (item.ids.indexOf(id) > -1) { - // // return item; - // // } - // // }); - // // if (color.length > 0) { - // // return new SmartEarth.Cesium.Color.fromCssColorString( - // // color[0].color - // // ); - // // } - // } - // } - // }); + // earthCtrl.camera.flyTo(item.lontitude, item.lattitude, 5000, 0, -90, 0, 2); } + ids.push(item.uuid); this.layerList.push({ layer: tetrahedron, func: 'tetrahedron' }); - }) + }); + modelLayer[0].layer.style = new Cesium.Cesium3DTileStyle({ + color: { + evaluateColor: (feature) => { + const id = feature.getProperty("id"); + if (ids.indexOf(id) > -1) { + console.log("id**********", id); + return new SmartEarth.Cesium.Color.fromCssColorString( + '#FF0000' + ); + } + } + } + }); }, removeAll() { -- Gitblit v1.9.3