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