From 69b40096cb0ae965f2a3e92672b880edfe7d04d2 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 21:14:09 +0800
Subject: [PATCH] 优化了登录页面

---
 src/zhuye/Coordinate.java |   40 +++++++++++++++++++++-------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/zhuye/Coordinate.java b/src/zhuye/Coordinate.java
index d15579f..89e789d 100644
--- a/src/zhuye/Coordinate.java
+++ b/src/zhuye/Coordinate.java
@@ -79,15 +79,20 @@
 
 
 	/**
-	 * 瑙f瀽GNGGA鏁版嵁杩斿洖Coordinate瀵硅薄鍒楄〃锛堝寮虹増锛屽寘鍚珮绋嬫暟鎹級
+	 * 瑙f瀽GNGGA/GPGGA/GBGGA鏁版嵁杩斿洖Coordinate瀵硅薄鍒楄〃锛堝寮虹増锛屽寘鍚珮绋嬫暟鎹級
 	 */
 	public static void parseGNGGAToCoordinateList(String gnggaData) {	
 		if (!isStartSaveGngga || gnggaData == null || gnggaData.isEmpty()) {
 			return;
 		}
 
-		String[] records = gnggaData.split("\\$GNGGA");
+		String cleaned = gnggaData.trim();
+		// 浣跨敤姝e垯鍒嗗壊鏀寔澶氱澶撮儴
+		String[] records = cleaned.split("\\$(GN|GP|GB)GGA");
 		for (String record : records) {
+			if (record == null || record.trim().isEmpty()) {
+				continue;
+			}
 			Coordinate coord = parseSingleGnggaRecord(record, false);
 			if (coord != null) {
 				coordinates.add(coord);
@@ -108,9 +113,19 @@
 			return null;
 		}
 
-		int markerIndex = cleaned.indexOf("$GNGGA");
+		int markerIndex = -1;
+		String[] headers = {"$GNGGA", "$GPGGA", "$GBGGA"};
+		
+		// 鎵惧埌鏈�鏃╁嚭鐜扮殑澶撮儴
+		for (String header : headers) {
+			int idx = cleaned.indexOf(header);
+			if (idx >= 0 && (markerIndex == -1 || idx < markerIndex)) {
+				markerIndex = idx;
+			}
+		}
+
 		String record = markerIndex >= 0
-				? cleaned.substring(markerIndex + "$GNGGA".length())
+				? cleaned.substring(markerIndex + 6) // 鎵�鏈夊ご閮ㄩ暱搴﹀潎涓�6
 				: cleaned;
 
 		Coordinate coordinate = parseSingleGnggaRecord(record, true);
@@ -153,7 +168,8 @@
 				return null;
 			}
 
-			if (fixQuality != 4) {
+			// 淇敼涓哄厑璁搁潪RTK鍥哄畾瑙d篃鑳芥樉绀轰綅缃�(鍙涓嶆槸鏃犳晥瀹氫綅0鍗冲彲)
+			if (fixQuality == 0) {
 				return null;
 			}
 
@@ -260,8 +276,6 @@
 			String line;
 			StringBuilder gnggaData = new StringBuilder();
 
-			System.out.println("寮�濮嬭鍙朑NGGA鏂囦欢: " + file.getAbsolutePath());
-
 			while ((line = reader.readLine()) != null) {
 				// 娓呯悊鏁版嵁锛氱Щ闄ゅ浣欑殑绌烘牸鍜屾崲琛�
 				line = line.trim();
@@ -279,18 +293,6 @@
 			if (gnggaData.length() > 0) {
 				parseGNGGAToCoordinateList(gnggaData.toString());
 				loadedCount = coordinates.size();
-				System.out.println("鎴愬姛鍔犺浇 " + loadedCount + " 涓潗鏍囩偣");
-
-				// 杈撳嚭缁熻淇℃伅
-				if (loadedCount > 0) {
-					double[] elevationRange = getElevationRange();
-					double avgElevation = getAverageElevation();
-					System.out.println("娴锋嫈缁熻: 鑼冨洿=" + String.format("%.2f", elevationRange[0]) + 
-							" - " + String.format("%.2f", elevationRange[1]) + "绫�, 骞冲潎=" + 
-							String.format("%.2f", avgElevation) + "绫�");
-				}
-			} else {
-				System.out.println("鏂囦欢涓湭鎵惧埌鏈夋晥鐨凣NGGA鏁版嵁");
 			}
 
 		} catch (IOException e) {

--
Gitblit v1.10.0