From 89da62649161571834d3f8df7ce36f9967e6ba04 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期二, 07 九月 2021 14:04:31 +0800
Subject: [PATCH] change cesium version

---
 widgets/manageLayers/widget.js |   96 ++++++++++++++++++++++++++++--------------------
 1 files changed, 56 insertions(+), 40 deletions(-)

diff --git a/widgets/manageLayers/widget.js b/widgets/manageLayers/widget.js
index d0164d9..f908889 100644
--- a/widgets/manageLayers/widget.js
+++ b/widgets/manageLayers/widget.js
@@ -1,106 +1,122 @@
-'use script' //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
-;(function (window, mars3d) {
+"use script"; //寮�鍙戠幆澧冨缓璁紑鍚弗鏍兼ā寮�
+(function (window, mars3d) {
   //鍒涘缓widget绫伙紝闇�瑕佺户鎵緽aseWidget
   class MyWidget extends mars3d.widget.BaseWidget {
     //寮圭獥閰嶇疆
     get view() {
       return {
-        type: 'window',
-        url: 'view.html',
+        type: "window",
+        url: "view.html",
         windowOptions: {
+          // noTitle: true,
+          // closeBtn: 0,
           width: 250,
           height: 500,
         },
-      }
+      };
     }
     //鏄惁鍙互鎺у埗basemaps锛屽洜涓烘湁搴曞浘鎺у埗浜嗭紝鍏蜂綋椤圭洰涓彲浠ユ寜闇�鏀逛负false
     get hasManagerBaseMaps() {
-      return true
+      return true;
     }
 
     //鍒濆鍖朳浠呮墽琛�1娆
     create() {}
     //姣忎釜绐楀彛鍒涘缓瀹屾垚鍚庤皟鐢�
     winCreateOK(opt, result) {
-      this.viewWindow = result
+      this.viewWindow = result;
     }
     //鎵撳紑婵�娲�
     activate() {
       //鐩戝惉浜嬩欢锛岃仈鍔ㄥ嬀閫夌姸鎬�
-      this.map.on(mars3d.EventType.addLayer, this._onAddLayerHandler, this)
-      this.map.on(mars3d.EventType.removeLayer, this._onRemoveLayerHandler, this)
+      this.map.on(mars3d.EventType.addLayer, this._onAddLayerHandler, this);
+      this.map.on(mars3d.EventType.removeLayer, this._onRemoveLayerHandler, this);
     }
     //鍏抽棴閲婃斁
     disable() {
-      this.viewWindow = null
+      this.viewWindow = null;
 
-      this.map.off(mars3d.EventType.addLayer, this._onAddLayerHandler, this)
-      this.map.off(mars3d.EventType.removeLayer, this._onRemoveLayerHandler, this)
+      this.map.off(mars3d.EventType.addLayer, this._onAddLayerHandler, this);
+      this.map.off(mars3d.EventType.removeLayer, this._onRemoveLayerHandler, this);
     }
     _onAddLayerHandler(e) {
       if (!this.isActivate || !this.viewWindow) {
-        return
+        return;
       }
-      console.log('娣诲姞浜嗗浘灞�', e)
+      console.log("娣诲姞浜嗗浘灞�", e);
 
-      this.viewWindow.updateNode(e.layer)
+      this.viewWindow.updateNode(e.layer);
     }
     _onRemoveLayerHandler(e) {
       if (!this.isActivate || !this.viewWindow) {
-        return
+        return;
       }
-      console.log('绉婚櫎浜嗗浘灞�', e)
+      console.log("绉婚櫎浜嗗浘灞�", e);
 
-      this.viewWindow.removeNode(e.layer)
+      this.viewWindow.removeNode(e.layer);
     }
 
     getLayers() {
       return this.map.getLayers({
         basemaps: true, //鏄惁鍙朿onfig.json涓殑basempas
         layers: true, //鏄惁鍙朿onfig.json涓殑layers
-      })
+      });
     }
-
-    //鏇存柊鍥惧眰:鏄剧ず闅愯棌鐘舵��
-    updateLayerShow(layer, show) {
-      layer.show = show
-
+    //瀵瑰崟鍑荤殑鍥惧眰鍋氬鐞嗭紙鍗曚釜锛�
+    checkClickLayer(layer, show) {
       if (show) {
-        if (!layer.isAdded) {
-          this.map.off(mars3d.EventType.addLayer, this._onAddLayerHandler, this)
-          this.map.addLayer(layer)
-          this.map.on(mars3d.EventType.addLayer, this._onAddLayerHandler, this)
-        }
         if (this.config.autoCenter && !layer.options.noCenter) {
           //鍦ㄥ搴攃onfig.json鍥惧眰鑺傜偣閰嶇疆 noCenter:true 鍙互涓嶅畾浣�
-          layer.flyTo()
+          layer.flyTo();
         }
 
         //瀛樺湪鍏宠仈widget鏃�
-        let item = layer.options
+        let item = layer.options;
         if (item.onWidget) {
+          if (this._lastWidget) {
+            mars3d.widget.disable(this._lastWidget);
+            this._lastWidget = null;
+          }
+
           mars3d.widget.activate({
             uri: item.onWidget,
             layerItem: item,
             disableOther: false,
-          })
+          });
+          this._lastWidget = item.onWidget;
+        }
+      } else {
+        //瀛樺湪鍏宠仈widget鏃�
+        let item = layer.options;
+        if (item.onWidget) {
+          mars3d.widget.disable(item.onWidget);
+          if (this._lastWidget == item.onWidget) {
+            this._lastWidget = null;
+          }
+        }
+      }
+    }
+
+    //鏇存柊鍥惧眰:鏄剧ず闅愯棌鐘舵�侊紙鍕鹃�夊悗鐨勫浘灞傚強鍏跺瓙绾у浘灞傦紝澶氫釜锛�
+    updateLayerShow(layer, show) {
+      layer.show = show;
+
+      if (show) {
+        if (!layer.isAdded) {
+          this.map.off(mars3d.EventType.addLayer, this._onAddLayerHandler, this);
+          this.map.addLayer(layer);
+          this.map.on(mars3d.EventType.addLayer, this._onAddLayerHandler, this);
         }
       } else {
         // if (layer.isAdded) {
         //   this.map.removeLayer(layer)
         // }
-
-        //瀛樺湪鍏宠仈widget鏃�
-        let item = layer.options
-        if (item.onWidget) {
-          mars3d.widget.disable(item.onWidget)
-        }
       }
     }
   }
 
   //娉ㄥ唽鍒皐idget绠$悊鍣ㄤ腑銆�
-  mars3d.widget.bindClass(MyWidget)
+  mars3d.widget.bindClass(MyWidget);
 
   //姣忎釜widet涔嬮棿閮芥槸鐩存帴寮曞叆鍒癷ndex.html涓紝浼氬瓨鍦ㄥ郊姝ゅ懡鍚嶅啿绐侊紝鎵�浠ラ棴鍖呭鐞嗕笅銆�
-})(window, mars3d)
+})(window, mars3d);

--
Gitblit v1.9.1