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