tongshanglei 2 år sedan
förälder
incheckning
fa69b4818e
1 ändrade filer med 53 tillägg och 5 borttagningar
  1. 53 5
      src/views/wind/wind/index.vue

+ 53 - 5
src/views/wind/wind/index.vue

@@ -8,6 +8,7 @@
         <baidu-map class="bm-view" 
             :center="center" 
             :zoom="zoom" 
+            @zoomend="zoomEnd"
             :scrollWheelZoom="true"
             @ready="mapInit"
         >
@@ -153,10 +154,10 @@ export default {
             windWord:'',
             pumpWord:'',
             currentCityText: null, // 当前城市全名称,可用于地图中心
-            markerIcons: { // 覆盖物图标
-                building: '/icons/building.png', 
-                station: '/icons/station_blue.png',
-            },
+            // markerIcons: { // 覆盖物图标
+            //     building: '/icons/building.png', 
+            //     station: '/icons/station_blue.png',
+            // },
             scaleOffset: {},
             navigationOffset: {},
             mapTypeOffset: {},
@@ -178,7 +179,7 @@ export default {
             windGroup: [], // 风场覆盖物群组
             windData: [], // 风场数据
             pumpGroup:[],
-          
+            windCenterGroup:[],
             addWindType:'0',
             showWindOverlay: true,
             showPumpOverlay:true,
@@ -941,6 +942,53 @@ export default {
         },
         searchPumpList(){
             console.log(this.pumpWord)
+        },
+        zoomEnd(e){
+            
+            let zoom = e.target.getZoom()
+            var overlayObjText =   'windCenterGroup'; // 拼接覆盖物对象文本名称
+            if(zoom<10){
+                if (this.windCenterGroup && this.windCenterGroup.length) {
+                    // 移除覆盖物
+                    this.windCenterGroup.forEach(center => {
+                        center.remove()
+                    })
+                    this.windCenterGroup = []
+                }
+                this.windData.forEach(wind => {                 
+                        var pt = new BMap.Point(wind.center_lng, wind.center_lat);
+                        let myIcon = new BMap.Icon('https://rlfd.oss-cn-hangzhou.aliyuncs.com/smart_tool/wind2_32.png', new BMap.Size(32, 32));
+                        myIcon.setImageSize(new BMap.Size(32, 32)); 
+                        var marker = new BMap.Marker(pt, {
+                            icon: myIcon
+                        }); // 创建标注
+                        
+                            // let that=this
+                            // marker.addEventListener("click", function(){     
+                            //     let content=that.createMarkerContent(item);
+                            //     var opts = {
+                            //         width : 320,     // 信息窗口宽度
+                            //         enableAutoPan:false
+                            //     }
+                            //     var infoWindow = new BMap.InfoWindow(content,opts);  // 创建信息窗口对象      
+                            //     this.map.openInfoWindow(infoWindow, pt); //开启信息窗口
+                            // });
+                        this.map.addOverlay(marker);
+                        this.windCenterGroup.push(marker);
+                })
+                if (this[overlayObjText] && this[overlayObjText].length) {
+                    this[overlayObjText].forEach(marker => {
+                        marker.show();
+                    })
+                }
+            }else{
+                if (this[overlayObjText] && this[overlayObjText].length) {
+                    this[overlayObjText].forEach(marker => {
+                        marker.hide();
+                    })
+                }
+            }
+             
         }
 
     }