| 
					
				 | 
			
			
				@@ -54,6 +54,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             flag: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             xzqh_color_click: "rgba(46, 177, 251, 0.6)", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             xzqh_color: "rgba(10, 95, 152, 0.5)", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            primitivesL: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //监听属性 类似于data概念 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,11 +63,27 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     watch: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //方法集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hidden_xzqh(flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.primitivesL.forEach(element => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const primitives = viewer.scene.primitives; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (let i = 0; i < primitives.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    console.log(primitives.get(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    primitives.get(i).show = flag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bigViewerChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             store.setViewerFlagb(!store.state.viewer_flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             store.setToolBarShow(!store.state.viewer_flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // store.setToolBarShow(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 隐藏行政区划 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.hidden_xzqh(store.state.viewer_flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         switch() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.flag = !this.flag; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -204,9 +221,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (pickObj.primitive instanceof Cesium.Primitive) {//点击primitive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //primitive相关操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let pri_name = pickObj.id.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let adcode = pickObj.id.adcode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        console.log('pickObj: ', pickObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let obj = JSON.parse(pickObj.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let pri_name = obj.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // console.log('pickObj: ', pickObj.primitive.show = false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let adcode = obj.adcode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         that.params.id = adcode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         that.setDatas() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         // 驾驶舱海域使用权 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -313,12 +333,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const twoDArray = item[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const oneDArray = twoDArray.reduce((accumulator, currentValue) => accumulator.concat(currentValue), []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    that.primitivesL.push(JSON.stringify(obj)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 行政区划 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     let polygon = new Cesium.GeometryInstance({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        id: obj, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        id: JSON.stringify(obj), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         geometry: new Cesium.PolygonGeometry({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            minimum: new Cesium.Cartesian3(0, 0, 0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            maximum: new Cesium.Cartesian3(100000, 100000, 100000), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             polygonHierarchy: new Cesium.PolygonHierarchy( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 Cesium.Cartesian3.fromDegreesArray(oneDArray) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -330,6 +351,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     let addPolygonGeometry = new Cesium.Primitive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         geometryInstances: polygon, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         appearance: that.colorFun(Cesium.Color.fromCssColorString('#139FF0')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     viewer.scene.primitives.add(addPolygonGeometry) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -458,7 +481,37 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 注意:因为我们是逆序压入栈中的,所以结果数组的顺序与原始三维数组中的顺序相反   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 如果需要保持原始顺序,可以在压入栈时使用unshift代替push,但这样会降低性能   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getHeightByLevel(level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var A = 40487.57; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var B = 0.00007096758; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var C = 91610.74; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var D = -40467.74; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // console.log( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     "获取level层级" + Math.round(D + (A - D) / (1 + Math.pow(level / C, B))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return Math.round(D + (A - D) / (1 + Math.pow(level / C, B))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        listeningAltitude() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const that = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            viewer.scene.postRender.addEventListener(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const canvasHeight = viewer.scene.canvas.height; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const windowPosition = new Cesium.Cartesian2(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 获取当前地图层级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var level = Math.ceil(viewer.camera.positionCartographic.height); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var mapLevel = that.getHeightByLevel(level); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (mapLevel >= 14) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    console.log('viewer.scene.primitives: ', viewer.scene.primitives); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // viewer.scene.primitives 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     beforeCreate() { }, //生命周期 - 创建之前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     created() { }, //生命周期 - 创建完成(可以访问当前this实例) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -482,8 +535,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.pick_xzqh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.init_xzqh(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.init_hyqy(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // this.listeningAltitude(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |