From a541fbdc8812337de120aad3792a2033a5dd7afe Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期四, 25 十二月 2025 12:23:01 +0800
Subject: [PATCH] 优化了首页
---
src/zhuye/Coordinate.java | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/src/zhuye/Coordinate.java b/src/zhuye/Coordinate.java
index d15579f..644953d 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;
}
--
Gitblit v1.10.0