xzw 1 rok temu
rodzic
commit
84c06114cf
2 zmienionych plików z 8 dodań i 6 usunięć
  1. 7 5
      js/Hot.js
  2. 1 1
      js/main_2020_show.js

+ 7 - 5
js/Hot.js

@@ -758,12 +758,14 @@ window.initHot = function(model){
         }
         
             
-        updateVisible(panos, visibility) { 
+        updateVisible(panos, visibility, type) { 
             if(window.isEdit && editTool.hotpoint.editSpot == this){
                 return this.visible = true
             }
             
-            this.visible = visibility != void 0 ? visibility : (!this.info.visiblePanos || !!panos.find(pano=>this.info.visiblePanos.includes(pano.id)))
+            this.visible = visibility != void 0 ? visibility : (!this.info.visiblePanos || 
+               type == 'every' ? panos.every(pano=>this.info.visiblePanos.includes(pano.id)) : panos.some(pano=>this.info.visiblePanos.includes(pano.id)))//type为every时,需要panos中每个都可见才显示
+            this.titleElem && this.titleElem.setVisible(this.visible, 'hotVisible', 1)
             
             if (this.texType == 'video'){
                 //this.switchPlay(this.visible,  this.visible ? null : 'stop' );//可见时不操作;不可见时停止
@@ -1464,11 +1466,11 @@ window.initHot = function(model){
 
     }
     
-    Hot.updateVisibles = function(panos) {
+    Hot.updateVisibles = function(panos, type) { //只显示没被遮挡的,否则会卡
         if (panos === true) {
-            model.hotGroup.children.forEach(e=>e.updateVisible(null,true))
+            model.hotGroup.children.forEach(e=>e.updateVisible(null,true,type))
         } else {
-            model.hotGroup.children.forEach(e=>e.updateVisible(panos))
+            model.hotGroup.children.forEach(e=>e.updateVisible(panos, null, type))
         }
     }
     

+ 1 - 1
js/main_2020_show.js

@@ -22748,7 +22748,7 @@ window.Modernizr = function(n, e, t) {
                      //---------before fly--------------- add
                     this.updateHotVisible(i); //更新热点显示
                     this.transitionPos({type:"beforeFlytopano", pano:i, dur:I})//add 
-                    Hot.updateVisibles([this.currentPano, i])
+                    Hot.updateVisibles([this.currentPano, i],'every')
                     
                     //地标变化
                     if(this.model.floorLogos){