|  | @ -45,6 +45,7 @@ export class MarkerCluster { | 
			
		
	
		
		
			
				
					|  |  |   infoWindow; |  |  |   infoWindow; | 
			
		
	
		
		
			
				
					|  |  |   mapContainer; |  |  |   mapContainer; | 
			
		
	
		
		
			
				
					|  |  |   data = []; //标注集合
 |  |  |   data = []; //标注集合
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   dataInfo = {}; | 
			
		
	
		
		
			
				
					|  |  |   vroot; |  |  |   vroot; | 
			
		
	
		
		
			
				
					|  |  |   constructor() {} |  |  |   constructor() {} | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -54,7 +55,7 @@ export class MarkerCluster { | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |   async addData(_id, _data, isDefault) { |  |  |   async addData(_id, _data, isDefault) { | 
			
		
	
		
		
			
				
					|  |  |     this.infoWindow?.close?.(); |  |  |     this.infoWindow?.close?.(); | 
			
		
	
		
		
			
				
					
					|  |  | 
 |  |  |     Vue.prototype.mapInsOpenLayers.push(_id) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     //data.forEach(e => {
 |  |  |     //data.forEach(e => {
 | 
			
		
	
		
		
			
				
					|  |  |     //  const lnglat = getLnglat(e.extData);
 |  |  |     //  const lnglat = getLnglat(e.extData);
 | 
			
		
	
		
		
			
				
					|  |  |     //  e.extData.longitude = lnglat[0];//点坐标经度    【必传字段】
 |  |  |     //  e.extData.longitude = lnglat[0];//点坐标经度    【必传字段】
 | 
			
		
	
	
		
		
			
				
					|  | @ -114,6 +115,7 @@ export class MarkerCluster { | 
			
		
	
		
		
			
				
					|  |  |         }) |  |  |         }) | 
			
		
	
		
		
			
				
					|  |  |       } |  |  |       } | 
			
		
	
		
		
			
				
					|  |  |     }) |  |  |     }) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     this.dataInfo[_id] = _data; | 
			
		
	
		
		
			
				
					|  |  |     this.data.push(..._data); |  |  |     this.data.push(..._data); | 
			
		
	
		
		
			
				
					|  |  |     if(aryPoints.length > 0){       |  |  |     if(aryPoints.length > 0){       | 
			
		
	
		
		
			
				
					|  |  |       map2d.addPointByArr( |  |  |       map2d.addPointByArr( | 
			
		
	
	
		
		
			
				
					|  | @ -122,20 +124,25 @@ export class MarkerCluster { | 
			
		
	
		
		
			
				
					|  |  |         true    //  当前新加图层是否启用聚合效果
 |  |  |         true    //  当前新加图层是否启用聚合效果
 | 
			
		
	
		
		
			
				
					|  |  |      ); |  |  |      ); | 
			
		
	
		
		
			
				
					|  |  |      console.log(aryPoints,_id,'点位数组') |  |  |      console.log(aryPoints,_id,'点位数组') | 
			
		
	
		
		
			
				
					|  |  |     } else { |  |  |  | 
			
		
	
		
		
			
				
					|  |  |       Vue.prototype.mapIns.removeLayerByName(_id); |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |     // if(Vue.prototype.isMapStatck){
 |  |  |     if(Vue.prototype.isMapStatck){ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |     //   setTimeout(() => {
 |  |  |       setTimeout(() => { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |     //     Vue.prototype.mapIns.pileIsShow("jhlayers", true);  
 |  |  |         Vue.prototype.mapIns.pileIsShow(_id, true);   | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |     //   }, 500);
 |  |  |       }, 500); | 
			
				
				
			
		
	
		
		
			
				
					|  |  |     // }
 |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |   removeLayer(id){ |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     Vue.prototype.mapIns.removeLayerByName(id); |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   } |  |  |   } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   removeData(_id, _data) { |  |  |   removeData(_id, _data) { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       if (!_data) return; | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       if (!Array.isArray(data)) data = [_data]; | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     const _vpmIndex = Vue.prototype.mapInsOpenLayers.findIndex(_id); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     if(_vpmIndex !== -1){ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       Vue.prototype.mapInsOpenLayers.splice(_vpmIndex) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     }       | 
			
		
	
		
		
			
				
					|  |  |  |  |  |      | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     const _dataTemp = []; | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     if(this.dataInfo[_id]){ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       _dataTemp = this.dataInfo[_id] | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |     _data.forEach((item, index) => { |  |  |     _data.forEach((item, index) => { | 
			
		
	
		
		
			
				
					|  |  |       const findIndex = this.data.findIndex( |  |  |       const findIndex = this.data.findIndex( | 
			
		
	
		
		
			
				
					|  |  |         (removeData) => removeData === item |  |  |         (removeData) => removeData === item | 
			
		
	
	
		
		
			
				
					|  | @ -162,13 +169,20 @@ export class MarkerCluster { | 
			
		
	
		
		
			
				
					|  |  |         } |  |  |         } | 
			
		
	
		
		
			
				
					|  |  |       } |  |  |       } | 
			
		
	
		
		
			
				
					|  |  |       if (findIndex > -1) this.data.splice(findIndex, 1); |  |  |       if (findIndex > -1) this.data.splice(findIndex, 1); | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       const _findIndex = _dataTemp.findIndex( | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         (removeData) => removeData === item | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       ); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       if (_findIndex > -1) { | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         _dataTemp.splice(_findIndex, 1); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       } | 
			
		
	
		
		
			
				
					|  |  |     }); |  |  |     }); | 
			
		
	
		
		
			
				
					|  |  |     console.log('remove',_id,_data) |  |  |     console.log('remove',_id,_data) | 
			
		
	
		
		
			
				
					|  |  |     Vue.prototype.mapIns.removeLayerByName(_id); |  |  |     Vue.prototype.mapIns.removeLayerByName(_id); | 
			
		
	
		
		
			
				
					
					|  |  |     if(_data && Array.isArray(_data) && _data.length > 0){ |  |  |     if(_dataTemp.length > 0){ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |       const self = this; |  |  |       const self = this; | 
			
		
	
		
		
			
				
					|  |  |       setTimeout(() => { |  |  |       setTimeout(() => { | 
			
		
	
		
		
			
				
					
					|  |  |         self.refreshLayer(_id, _data);   |  |  |         self.refreshLayer(_id, _dataTemp);   | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |       }, 500); |  |  |       }, 500); | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |      |  |  |      | 
			
		
	
	
		
		
			
				
					|  | 
 |