From b0ccd2d131b2e3df5d901385e38ed0077b8d0fbc Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 14 Apr 2025 12:31:31 +0800
Subject: [PATCH] feat:修改任务管理内容
---
src/views/TaskManage/TaskIntermediateContent/initPointWayline.js | 56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 7 deletions(-)
diff --git a/src/views/TaskManage/TaskIntermediateContent/initPointWayline.js b/src/views/TaskManage/TaskIntermediateContent/initPointWayline.js
index fcabe59..dd007f5 100644
--- a/src/views/TaskManage/TaskIntermediateContent/initPointWayline.js
+++ b/src/views/TaskManage/TaskIntermediateContent/initPointWayline.js
@@ -21,19 +21,61 @@
*
* @param { 单点航线 相关功能} url
*/
-export const initPointWayline = (url) => {
- const { viewer } = cesiumOperation();
+export const initPointWayline = () => {
+
+ let viewer = null;
+
// 解析kmz文件
- const parsingFiles = async (url) => {
- const { fileInfoObj } = analyzeKmzFile(`${url}?_t=${new Date().getTime()}`);
- const xmlStr = fileInfoObj['wpmz/template.kml']
- const xmlJson = XMLToJSON(xmlStr)?.['Document']
+ const parsingFiles = async (url,viewer) => {
+ viewer = viewer;
+ console.log('initPointWayline', viewer);
+ const res = await analyzeKmzFile(`${url}?_t=${new Date().getTime()}`)
+ const waylinesXML = await res.fileInfoObj['wpmz/waylines.wpml']
+ const xmlJson = XMLToJSON(waylinesXML)?.['Document'];
if (xmlJson.Folder.Placemark.length) return;
drawWayline(xmlJson)
};
// 在地图上画线
const drawWayline = (xmlJson) => {
- const { Folder } = xmlJson
+ let positions = [];
+ // 获取点的位置
+ const points = xmlJson.Folder.Placemark;
+ console.log('points', points);
+ getPositionsHeight(points, viewer, 100).then((result) => {
+ console.log(result);
+ positions = result.map((item) => {
+ return Cesium.Cartesian3.fromDegrees(
+ Number(item.longitude),
+ Number(item.latitude),
+ item.FinalHeight,
+ )
+ });
+ result.forEach((item, index) => {
+ let setting = {};
+ setting = {
+ id: 'route_point_' + index,
+ position: positions[index],
+
+ label: {
+ text: `${index + 1}`,
+ font: 'bold 14px serif',
+ style: globalCesium.LabelStyle.FILL,
+ verticalOrigin: globalCesium.VerticalOrigin.CENTER, // 垂直居中
+ horizontalOrigin: globalCesium.HorizontalOrigin.CENTER, // 水平居中
+ pixelOffset: new globalCesium.Cartesian2(0, 0), // 根据需要调整偏移量
+ eyeOffset: new globalCesium.Cartesian3(0, 0, -10) // 使标签在点的上方
+ },
+
+ point: {
+ pixelSize: 24,
+ color: new globalCesium.Color.fromBytes(255, 186, 0, 255),
+ },
+ }
+ viewer.entities.add(setting)
+ });
+ });
};
+
+ return { parsingFiles };
};
\ No newline at end of file
--
Gitblit v1.9.3