无人机管理后台前端(已迁走)
张含笑
2025-10-29 0ba34060c85d908c6011050af60a3c9c412e3c94
feat:增加解析
1 files modified
18 ■■■■ changed files
src/utils/geoParseUtil.js 18 ●●●● patch | view | raw | blame | history
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),