From f94b1436d7a28c8e28d010b2cb657ab7c064e353 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期日, 28 十二月 2025 20:36:38 +0800
Subject: [PATCH] 修改了导航预览
---
src/zhuye/MapRenderer.java | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/zhuye/MapRenderer.java b/src/zhuye/MapRenderer.java
index 3574277..e354548 100644
--- a/src/zhuye/MapRenderer.java
+++ b/src/zhuye/MapRenderer.java
@@ -489,10 +489,7 @@
drawMower(g2d);
- // 缁樺埗瀵艰埅棰勮閫熷害锛堝鏋滄鍦ㄥ鑸瑙堬級
- if (navigationPreviewSpeed > 0 && mower != null && mower.hasValidPosition()) {
- drawNavigationPreviewSpeed(g2d, scale);
- }
+ // 宸叉寜闇�姹傜Щ闄わ細涓嶅湪鍓茶崏鏈哄浘鏍囦笂鏂规樉绀洪�熷害
// 缁樺埗娴嬮噺妯″紡锛堝鏋滄縺娲伙級
if (measurementModeActive) {
@@ -564,16 +561,21 @@
g2d.setFont(labelFont);
FontMetrics metrics = g2d.getFontMetrics(labelFont);
- // 璁$畻鏂囧瓧浣嶇疆锛堝湪鍓茶崏鏈哄浘鏍囦笂鏂癸級
+ // 璁$畻鏂囧瓧浣嶇疆锛堝湪鍓茶崏鏈哄浘鏍囨涓婃柟锛岄棿闅�20鍍忕礌鍥哄畾锛�
int textWidth = metrics.stringWidth(speedText);
int textHeight = metrics.getHeight();
int textX = (int)Math.round(screenPos.x - textWidth / 2.0);
- // 鍦ㄥ壊鑽夋満鍥炬爣涓婃柟锛岀暀鍑轰竴瀹氶棿璺�
- // 鍥炬爣鍦ㄤ笘鐣屽潗鏍囩郴涓殑澶у皬绾︿负 48 * 0.8 / scale 绫�
- // 杞崲涓哄睆骞曞儚绱狅細鍥炬爣楂樺害锛堝儚绱狅級= (48 * 0.8 / scale) * scale = 48 * 0.8 = 38.4 鍍忕礌
- double iconSizePixels = 48.0 * 0.8; // 鍥炬爣鍦ㄥ睆骞曚笂鐨勫ぇ灏忥紙鍍忕礌锛�
- int spacing = 8; // 闂磋窛锛堝儚绱狅級
- int textY = (int)Math.round(screenPos.y - iconSizePixels / 2.0 - spacing - textHeight);
+ // 鍦ㄥ壊鑽夋満鍥炬爣姝d笂鏂癸紝闂撮殧20鍍忕礌
+ // 浠巑ower瀵硅薄鑾峰彇鍥炬爣鍦ㄤ笘鐣屽潗鏍囩郴涓殑鍗婂緞锛岀劧鍚庤浆鎹负灞忓箷鍍忕礌
+ double iconWorldRadius = mower.getWorldRadius(scale);
+ double iconSizePixels = Double.isNaN(iconWorldRadius) ? 38.4 : (iconWorldRadius * 2.0 * scale); // 鍥炬爣鍦ㄥ睆骞曚笂鐨勫ぇ灏忥紙鍍忕礌锛�
+ int spacing = 20; // 闂磋窛锛堝儚绱狅級
+ // 鍥炬爣椤堕儴浣嶇疆 = 鍥炬爣涓績Y - 鍥炬爣楂樺害/2
+ double iconTopY = screenPos.y - iconSizePixels / 2.0;
+ // 绮剧‘绾︽潫锛氳鑳屾櫙鐭╁舰鐨勫簳杈逛笌鍥炬爣椤堕儴鐩歌窛鍥哄畾spacing鍍忕礌
+ // 鑳屾櫙搴曡竟 = textY + metrics.getDescent() + 2锛堢煩褰笅鏂瑰唴杈硅窛锛�
+ // 浠� 鑳屾櫙搴曡竟 = iconTopY - spacing锛岃В寰楋細
+ int textY = (int)Math.round(iconTopY - spacing - metrics.getDescent() - 2);
// 缁樺埗鏂囧瓧鑳屾櫙锛堝崐閫忔槑鐧借壊锛屽寮哄彲璇绘�э級
g2d.setColor(new Color(255, 255, 255, 200));
--
Gitblit v1.10.0