From 233e4fc4f35bd00a36ee34a7fbf5e47b41db26db Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 17 Nov 2025 09:54:44 +0800
Subject: [PATCH] feat:更新初始化地形

---
 src/utils/geoParseUtil.js |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/utils/geoParseUtil.js b/src/utils/geoParseUtil.js
index 5c62a0e..0a48c55 100644
--- a/src/utils/geoParseUtil.js
+++ b/src/utils/geoParseUtil.js
@@ -52,7 +52,22 @@
     ) {
       return parseWktToPositions(geoDataStr, altitude);
     } 
-    // 2. 否则按 GeoJSON 格式解析
+    // 2. 新增:判断是否为纯坐标数组字符串(以 [ 开头,以 ] 结尾)
+    else if (geoDataStr.startsWith('[') && geoDataStr.endsWith(']')) {
+      const coordinates = JSON.parse(geoDataStr); // 直接解析为数组
+      // 验证是否为二维数组([[lng, lat], ...])
+      if (Array.isArray(coordinates) && coordinates.every(item => Array.isArray(item) && item.length >= 2)) {
+        return coordinates.map(([lng, lat]) => ({
+          lng: Number(lng),
+          lat: Number(lat),
+          height: Number(altitude) || 0,
+        }));
+      } else {
+        console.warn('纯数组格式错误,需为 [[lng, lat], ...] 结构');
+        return [];
+      }
+    }
+    // 3. 最后按 GeoJSON 格式解析
     else {
       const geoData = JSON.parse(geoDataStr);
       let coordinates = [];
@@ -66,7 +81,6 @@
         return [];
       }
 
-      // 转换为 {lng, lat, height} 格式
       return coordinates.map(([lng, lat]) => ({
         lng: Number(lng),
         lat: Number(lat),

--
Gitblit v1.9.3