From 52a426373c619415f876952b0de04af82564dd96 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 06 Mar 2024 18:04:02 +0800
Subject: [PATCH] update:航线全局设置编辑、新增航点、事件编辑等

---
 src/utils/cesium/kmz.ts |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/src/utils/cesium/kmz.ts b/src/utils/cesium/kmz.ts
index 47f3964..ed14c43 100644
--- a/src/utils/cesium/kmz.ts
+++ b/src/utils/cesium/kmz.ts
@@ -22,31 +22,47 @@
 export const getKmlParams = (
   source: string,
   isWpml: boolean,
-  params: { name: string; findRegx: string; mode?: string },
+  params: { name: string | undefined; findRegx: string; mode?: string },
 ) => {
   let regx = null
   if (isWpml) {
     if (params.mode) {
-      regx = new RegExp(
-        `<wpml:${params.name}>${params.findRegx}<\\/wpml:${params.name}>`,
-        params.mode,
-      )
+      regx = new RegExp(`<wpml:${params.name}>${params.findRegx}<\\/wpml:${params.name}>`, params.mode)
     } else {
-      regx = new RegExp(
-        `<wpml:${params.name}>${params.findRegx}<\\/wpml:${params.name}>`,
-      )
+      regx = new RegExp(`<wpml:${params.name}>${params.findRegx}<\\/wpml:${params.name}>`)
     }
   } else {
     if (params.mode) {
-      regx = new RegExp(
-        `<${params.name}>${params.findRegx}<\\/${params.name}>`,
-        params.mode,
-      )
+      regx = new RegExp(`<${params.name}>${params.findRegx}<\\/${params.name}>`, params.mode)
     } else {
-      regx = new RegExp(
-        `<${params.name}>${params.findRegx}<\\/${params.name}>`,
-      )
+      regx = new RegExp(`<${params.name}>${params.findRegx}<\\/${params.name}>`)
     }
   }
   return source?.match(regx)
 }
+
+export const generateKmlFormat = (settingParmas: any) => {
+  let paramGroup = ''
+  Object.keys(settingParmas).forEach((key: string) => {
+    if (Object.prototype.toString.call(settingParmas[key]) === '[object Object]') {
+      let parmaStr = ''
+      Object.keys(settingParmas[key]).forEach((v) => {
+        parmaStr += `<wpml:${v}>${settingParmas[key][v]}</wpml:${v}>`
+      })
+      paramGroup += `<wpml:${key}>${parmaStr}</wpml:${key}>`
+    } else {
+      paramGroup += `<wpml:${key}>${settingParmas[key]}</wpml:${key}>`
+    }
+  })
+  return paramGroup
+}
+
+export const insertChar = (str: string, index: number, char: string) => {
+  if (index > str.length) {
+    return str + char
+  } else if (index < 0) {
+    return char + str
+  } else {
+    return str.slice(0, index) + char + str.slice(index)
+  }
+}

--
Gitblit v1.9.3