From e0628186a76a3b55937a5a6f56b93a897751b885 Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Sat, 18 Feb 2023 10:15:31 +0800
Subject: [PATCH] 增加洪水淹没效果

---
 widgets/FloodAnalysis/Widget.js |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/widgets/FloodAnalysis/Widget.js b/widgets/FloodAnalysis/Widget.js
index d14ebd2..5b952bb 100644
--- a/widgets/FloodAnalysis/Widget.js
+++ b/widgets/FloodAnalysis/Widget.js
@@ -55,13 +55,13 @@
         isOpen: true,
         //api接口
         url: {
-            riverwaySelectName: "http://192.168.0.103:82/blade-ycreal/riverway/selectName",
-            waterlineSelectName: "http://192.168.0.103:82/blade-ycreal/waterline/selectName",
-            childpage: "http://192.168.0.103:82/blade-ycreal/water/childpage",
-            getCzByGlCodeByGlQdj: "http://192.168.0.103:82/blade-ycreal/waterline/getCzByGlCodeByGlQdj",
+            riverwaySelectName: "http://192.168.0.207:82/blade-ycreal/riverway/selectName",
+            waterlineSelectName: "http://192.168.0.207:82/blade-ycreal/waterline/selectName",
+            childpage: "http://192.168.0.207:82/blade-ycreal/water/childpage",
+            getCzByGlCodeByGlQdj: "http://192.168.0.207:82/blade-ycreal/waterline/getCzByGlCodeByGlQdj",
             getHistoryList: "",
             saveHistoryData: "",
-            getCoordinatesMinQdj: "http://192.168.0.103:82/blade-ycreal/water/getCoordinatesMinQdj",
+            getCoordinatesMinQdj: "http://192.168.0.207:82/blade-ycreal/water/getCoordinatesMinQdj",
         },
         evaluateData: [
             {
@@ -104,7 +104,8 @@
             //开始分析按钮点击事件
             $('#start-analysis-btn').click(function () {
                 if (self.currentHd && self.currentSmxcode) {
-                    self.evaluatePopup()
+                    // self.evaluatePopup()
+                    self.drawWater()
                 } else {
                     alert("请先选择河段和水面线")
                 }
@@ -731,7 +732,39 @@
             });
             grid.renderArray(dataList);
         },
-
+        // 洪水淹没效果
+        drawWater() {
+            //地图定位
+            // this.map.camera.flyTo({
+            //     destination: Cesium.Cartesian3.fromDegrees(115.93791, 25.989108, 5000),
+            // });
+            this.showWater = true
+            this.waterEntity && this.map.entities.remove(this.waterEntity)
+            const waterCoord = [116.0072, 25.9058, 100, 116.0546, 25.9012, 100 , 116.0457, 25.8611, 100, 115.9859, 25.8740 ,100]
+            let startHeight = 169
+            const targetHeight = 200
+            this.waterEntity = this.map.entities.add({
+                polygon: {
+                    hierarchy: Cesium.Cartesian3.fromDegreesArrayHeights(waterCoord),
+                    material: Cesium.Color.fromBytes(64, 157, 253, 200),
+                    perPositionHeight: true,
+                    extrudedHeight: new Cesium.CallbackProperty(() => { return startHeight }, false)
+                }
+            })
+            const waterInterval = setInterval(() => {
+                if (startHeight < targetHeight) {
+                    startHeight += 5
+                    if (startHeight >= targetHeight) {
+                        startHeight = targetHeight
+                        clearInterval(waterInterval)
+                        this.showWater = false
+                        this.evaluatePopup()
+                    }
+                    // 使用该方式会闪烁,改用 Cesium.CallbackProperty 平滑
+                    // this.waterEntity.polygon.extrudedHeight = startHeight
+                }
+            }, 1000*0.5)
+        }
 
     });
 });

--
Gitblit v1.9.3