From 30e393df7b1d89c4172a7f4bec6e80e2dc00c373 Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期一, 05 八月 2024 10:14:49 +0800
Subject: [PATCH] 语义功能添加

---
 src/assets/js/mapSdk/menuManager.js |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/src/assets/js/mapSdk/menuManager.js b/src/assets/js/mapSdk/menuManager.js
index e2a46a0..4e31acb 100644
--- a/src/assets/js/mapSdk/menuManager.js
+++ b/src/assets/js/mapSdk/menuManager.js
@@ -1,7 +1,8 @@
-
 const menuManager = {
     pid: null,
     pointFly: null,
+    particle: null,
+    AnalysisFlood: null,
     colorAll: {
         point: SmartEarth.Cesium.Color.fromCssColorString('#ff0000'),
         polyline: SmartEarth.Cesium.Color.fromCssColorString('#ffff0050'),
@@ -67,11 +68,62 @@
             case 'a1':
                 return res.name;
                 break;
+            case 'a2':
+                if (this.particle) {
+                    this.particle.remove();
+                    this.particle = null;
+                    return;
+                }
+
+                var that = this;
+                var handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
+                handler.setInputAction((event) => {
+                    let cartesian = Viewer.camera.pickEllipsoid(event.position);
+                    let cartographic = Cesium.Cartographic.fromCartesian(cartesian);
+
+                    if (cartesian) {
+                        let lng = parseFloat(Cesium.Math.toDegrees(cartographic.longitude)).toFixed(6); // 缁忓害
+                        let lat = parseFloat(Cesium.Math.toDegrees(cartographic.latitude)).toFixed(6); // 绾害
+                        var alt = Viewer.camera.positionCartographic.height.toFixed(0);
+                        that.setCreateFireAnalysis(lng, lat, alt);
+                    }
+                    handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
+                }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
+                break;
+            case 'a3':
+                if (this.AnalysisFlood) {
+                    this.AnalysisFlood.endWater();
+                    this.AnalysisFlood = undefined;
+                    return
+                }
+                var url = SmartEarthRootUrl + 'Workers/image/33.gif';
+                const method = {
+                    pointSelect: true, // rectangle: 'rectangle',
+                    spood: 20,
+                    GroupID: 0,
+                    url: url,
+                };
+                this.AnalysisFlood = earthCtrl.analysis.createSubmergence(method, (value) => {});
+                break;
             default:
                 return null;
                 break;
         }
     },
+    setCreateFireAnalysis(lon, lat, alt) {
+        this.particle = earthCtrl.factory.createParticleEffect(
+            'flame',
+            {
+                x: lon,
+                y: lat,
+                z: 0,
+            },
+            {
+                translation: SmartEarth.Cesium.Cartesian3.fromElements(0, 0, 0), //骞崇Щ
+            },
+            (data) => {}
+        );
+    },
     //鍥惧眰绠$悊
     setMenuS4(res) {
         switch (res.id) {

--
Gitblit v1.9.3