From 92f7479c89d8573d954e5bf37a464c1bbef396eb Mon Sep 17 00:00:00 2001 From: yxl <584911253@qq.com> Date: 星期四, 13 二月 2025 15:03:14 +0800 Subject: [PATCH] commit --- src/assets/js/mapSetFunc.js | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 54 insertions(+), 1 deletions(-) diff --git a/src/assets/js/mapSetFunc.js b/src/assets/js/mapSetFunc.js index 7b8c046..816c19a 100644 --- a/src/assets/js/mapSetFunc.js +++ b/src/assets/js/mapSetFunc.js @@ -23,10 +23,18 @@ this.creatQueryMeta(res); break; case "aroundPoi_2": - this.addWfsLayer(res); + // this.addWfsLayer(res); + this.addTetrahedron(res); break; case "getParam": this.addTetrahedron(res); + break; + case "getTAIWAN": + this.addWfsLayer(res); + // this.addTetrahedron(res); + break; + case "attackentity": + this.addPolyLine(res); break; } }, @@ -476,6 +484,41 @@ }); }, + //缁樺埗绾� + addPolyLine(res) { + // 瑙f瀽 LINESTRING 瀛楃涓蹭负缁忕含搴﹀潗鏍囨暟缁� + const coordinates = res.bombpoint + .replace("LINESTRING", "") // 鍘婚櫎 'LINESTRING' 閮ㄥ垎 + .replace(/[()]/g, "") // 鍘婚櫎鎷彿 + .split(",") // 鎸夐�楀彿鍒嗗壊 + .map(coord => { + const [lon, lat] = coord.trim().split(" "); // 灏嗘瘡瀵瑰潗鏍囧垎寮� + return [parseFloat(lon), parseFloat(lat)]; // 杞崲涓烘暟瀛� + }); + const positions = coordinates.map(coord => { + return { + x: coord[0], + y: coord[1], + z: 21 + }; + }); + positions.forEach((item, index) => { + const particle = earthCtrl.factory.createParticleEffect("flame", item, { + translation: SmartEarth.Cesium.Cartesian3.fromElements(0, 0, 0), //骞崇Щ + emissionRate: 500, + startScale: 15, + endScale: 45, + }); + if (index == positions.length / 2) { + earthCtrl.camera.flyTo(item.x, item.y, 3000, 0, -90, 0, 2); + } + this.layerList.push({ + layer: particle, + func: 'attackentity' + }); + }) + }, + removeAll() { store.state.setListColor = []; store.state.showLenged = false; @@ -518,6 +561,11 @@ this.layerList.splice(i, 1); i--; } + else if (obj.func == "getTAIWAN") { + this.layerList[i].layer.destroy(); + this.layerList.splice(i, 1); + i--; + } else if (obj.func == "radarMaskScan") { this.layerList[i].layer.deleteObject(); this.layerList.splice(i, 1); @@ -528,6 +576,11 @@ this.layerList.splice(i, 1); i--; } + else if (obj.func == "attackentity") { + this.layerList[i].layer.deleteObject(); + this.layerList.splice(i, 1); + i--; + } } if (!window.terrain) { window.terrain = earthCtrl.factory.createTerrainLayer({ -- Gitblit v1.9.3