| 
					
				 | 
			
			
				@@ -12,7 +12,20 @@ import {unByKey} from 'ol/Observable'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ImageLayer from 'ol/layer/Image'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ImageStatic from 'ol/source/ImageStatic'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import XYZLayer from "../../utils/ol-map/XYZLayer"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import GeoJsonLayer from "../../utils/ol-map/GeoJsonLayer"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import eventBus from "@/api/eventBus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {VectorStyle} from "../../utils/ol-map/KMap"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import StaticImgLayer from "../../utils/ol-map/StaticImgLayer"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getColorByVal(val, legendData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for (let i = 0; i < legendData.level.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let [min, max] = legendData.level[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (val >= min && val <= max) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return legendData.colors[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return undefined; // 如果 val 不在任何区间内,返回 undefined 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @description 全景化地图层对象 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20,7 +33,9 @@ import eventBus from "@/api/eventBus"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class StaticMapLayers { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     constructor(map){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.initStaticMapLayers(map) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.vectorStyle = new VectorStyle() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.layerData = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.cacheStyle = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initStaticMapLayers(map){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let that = this 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,6 +47,10 @@ class StaticMapLayers { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let item = data[key] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(item.type === "xyz"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     that.layerData[key] = {legend:item.legend, layer:that.addXyzLayer(map, item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(item.type === "geojson"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    that.layerData[key] = {legend:item.legend, legendData:item.legendData, layer:that.addGeoJsonLayer(map, item, key)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }else if(item.type === "img"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    that.layerData[key] = {legend:item.legend, layer:that.addStaticImgLayer(map, item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // that.autoTest() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,12 +69,40 @@ class StaticMapLayers { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addStaticImgLayer(map, item){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let imgLayer = new StaticImgLayer(item.url, item, 3, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        imgLayer.hide() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return imgLayer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     addXyzLayer(map, item){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let xyz = new XYZLayer(item.url, item, 3, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         xyz.hide() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return xyz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addGeoJsonLayer(map, item, key){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        item["style"] = function(feature){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let val = feature.get(item.legendData.paramKey) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let cacheKey = `${key}_${item.legendData.paramKey}_${val}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let style = that.cacheStyle[cacheKey] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!style){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let color = getColorByVal(val, item.legendData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let fillColor = color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let strokeColor = color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style = that.vectorStyle.getPolygonStyle(fillColor, strokeColor, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                that.cacheStyle[cacheKey] = style 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return style 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let geoJsonLayer = new GeoJsonLayer(item.url, item, 3, map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        geoJsonLayer.hide() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return geoJsonLayer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     autoTest(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let that = this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let keys = [] 
			 |