From 7881cef5c3dcea8e6037101db2c3eeb2fd3ba5da Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 23:42:36 +0800
Subject: [PATCH] 1211

---
 src/zhuye/MapRenderer.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/zhuye/MapRenderer.java b/src/zhuye/MapRenderer.java
index c39b39d..3574277 100644
--- a/src/zhuye/MapRenderer.java
+++ b/src/zhuye/MapRenderer.java
@@ -1531,15 +1531,23 @@
         
         // 濡傛灉浠庡湴鍧楄幏鍙栧埌浜嗚矾寰勶紝浣跨敤鍦板潡鐨勮矾寰勶紱鍚﹀垯浣跨敤currentPlannedPath
         List<Point2D.Double> pathToDraw = currentPlannedPath;
+        List<Boolean> flags = null;
         if (plannedPathStr != null && !plannedPathStr.trim().isEmpty() && !"-1".equals(plannedPathStr.trim())) {
-            // 浠庡湴鍧楄幏鍙栫殑璺緞
-            pathToDraw = lujingdraw.parsePlannedPath(plannedPathStr);
+            // 浼樺厛瑙f瀽甯︽爣娉ㄦ牸寮�
+            lujingdraw.ParsedPath parsed = lujingdraw.parsePlannedPathWithFlags(plannedPathStr);
+            pathToDraw = parsed.points;
+            flags = parsed.isMowingFlags;
         }
-        
-        // 璋冪敤甯﹀湴鍧椾俊鎭殑缁樺埗鏂规硶
+
+        // 璋冪敤甯﹀湴鍧椾俊鎭殑缁樺埗鏂规硶锛堝鏈夋爣娉ㄤ紭鍏堜娇鐢級
         if (pathToDraw != null && pathToDraw.size() >= 2) {
-            lujingdraw.drawPlannedPath(g2d, pathToDraw, scale, arrowScale, 
-                                   boundaryCoords, mowingWidth, safetyDistance, obstaclesCoords, mowingPattern);
+            if (flags != null && flags.size() == pathToDraw.size() - 1) {
+                lujingdraw.drawPlannedPath(g2d, pathToDraw, flags, scale, arrowScale,
+                        boundaryCoords, mowingWidth, safetyDistance, obstaclesCoords, mowingPattern);
+            } else {
+                lujingdraw.drawPlannedPath(g2d, pathToDraw, scale, arrowScale,
+                        boundaryCoords, mowingWidth, safetyDistance, obstaclesCoords, mowingPattern);
+            }
         }
     }
 

--
Gitblit v1.10.0