From c498385fb7e372d13e2ee76d7b54ae2381728082 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期三, 17 十二月 2025 19:35:57 +0800
Subject: [PATCH] 新增了测量模式

---
 src/zhuye/Shouye.java |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/src/zhuye/Shouye.java b/src/zhuye/Shouye.java
index 56c4e39..30c1444 100644
--- a/src/zhuye/Shouye.java
+++ b/src/zhuye/Shouye.java
@@ -453,10 +453,18 @@
 		}
 		mapRenderer.setIdleTrailDurationSeconds(durationSeconds);
 		
-		// 搴旂敤杈圭晫璺濈鏄剧ず璁剧疆
+		// 搴旂敤杈圭晫璺濈鏄剧ず璁剧疆鍜屾祴閲忔ā寮忚缃�
 		Setsys setsys = new Setsys();
 		setsys.initializeFromProperties();
 		mapRenderer.setBoundaryLengthVisible(setsys.isBoundaryLengthVisible());
+		// 鍒濆鍖栨祴閲忔ā寮�
+		boolean measurementEnabled = setsys.isMeasurementModeEnabled();
+		mapRenderer.setMeasurementMode(measurementEnabled);
+		if (measurementEnabled) {
+			celiangmoshi.start();
+		} else {
+			celiangmoshi.stop();
+		}
 	}
 
 	private void createHeaderPanel() {
@@ -3260,7 +3268,34 @@
 		if (latest == null) {
 			return false;
 		}
-		return lastCapturedCoordinate == null || latest != lastCapturedCoordinate;
+		
+		// 妫�鏌ユ槸鍚︽湁鏂扮殑鍧愭爣锛堜笌涓婃閲囬泦鐨勪笉鍚岋級
+		if (lastCapturedCoordinate != null && latest == lastCapturedCoordinate) {
+			return false;
+		}
+		
+		// 妫�鏌ュ畾浣嶇姸鎬佹槸鍚︿负4锛堝浐瀹氳В锛�
+		// 褰撻�夋嫨鍓茶崏鏈虹粯鍒跺渾褰㈤殰纰嶇墿鏃讹紝闇�瑕佹鏌ヨ澶囩紪鍙峰拰瀹氫綅鐘舵��
+		Device device = Device.getGecaoji();
+		if (device == null) {
+			return false;
+		}
+		
+		String positioningStatus = device.getPositioningStatus();
+		if (positioningStatus == null || !"4".equals(positioningStatus.trim())) {
+			return false;
+		}
+		
+		// 妫�鏌ヨ澶囩紪鍙锋槸鍚﹀尮閰嶅壊鑽夋満缂栧彿
+		String mowerId = Setsys.getPropertyValue("mowerId");
+		String deviceId = device.getMowerNumber();
+		if (mowerId != null && !mowerId.trim().isEmpty()) {
+			if (deviceId == null || !mowerId.trim().equals(deviceId.trim())) {
+				return false;
+			}
+		}
+		
+		return true;
 	}
 
 	private void applyCirclePrimaryButtonState(boolean enabled) {

--
Gitblit v1.10.0