From 05361d6065b4dc8f8c52ef119cfb289a19f2aa94 Mon Sep 17 00:00:00 2001 From: oldHome Date: Sat, 28 Jun 2025 15:52:19 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E9=9B=86=E7=BE=A4=E6=8E=A7=E5=88=B6=20?= =?UTF-8?q?=E7=82=B9=E9=A3=9E=20=20=E7=AE=97=E5=87=BA=E9=A3=9E=E6=9C=BA?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E4=BD=8D=E7=BD=AE=20=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=B0=8F=E4=BA=8E0=20=E7=9B=B4=E6=8E=A5=E6=8F=90=E7=A4=BA=20?= =?UTF-8?q?=20=E8=BF=94=E5=9B=9E=20=E6=89=93=E6=96=AD=20=E4=B8=8D=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=A3=9E=E8=A1=8C=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/layout/components/main/planes/swarm.vue | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/views/layout/components/main/planes/swarm.vue b/src/views/layout/components/main/planes/swarm.vue index adfc2ef..db13648 100644 --- a/src/views/layout/components/main/planes/swarm.vue +++ b/src/views/layout/components/main/planes/swarm.vue @@ -202,6 +202,7 @@ export default { return } + let minTargetAlt = Infinity // 标记最矮飞机 的目标高度 初始化为正无穷大 // 计算每架飞机相对于当前中心的偏移量 const commands = this.planeList.map(p => { const pos = p?.planeState?.position @@ -216,12 +217,22 @@ export default { const newLat = targetLat + offsetLat const newAlt = targetAlt + offsetAlt + if (newAlt < minTargetAlt) { + minTargetAlt = newAlt + } + return { macadd: p.macadd, cmd: `{guidedMode:{lon:${newLon.toFixed(7)},lat:${newLat.toFixed(7)},alt:${newAlt.toFixed(1)}}}` } }).filter(Boolean) + // 最矮的飞机小于地面高度 返回 + if (minTargetAlt < 0) { + this.$message.warning(`指令已取消:最矮飞机将飞到地面以下(最低高度 ${minTargetAlt.toFixed(1)} 米)`) + return + } + // 发送控制指令 commands.forEach(({ macadd, cmd }) => { mqtt.publishFun(`cmd/${macadd}`, cmd)