| 
														
															@@ -15,6 +15,9 @@ const selectedArea = ref(null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const selectedPoints = ref([]); 
														 | 
														
														 | 
														
															 const selectedPoints = ref([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const allPoints = ref([]); 
														 | 
														
														 | 
														
															 const allPoints = ref([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const defalutAllPoints = ref([]) 
														 | 
														
														 | 
														
															 const defalutAllPoints = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const pointList = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const mapEventType = ref('rectangle') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 自定义圆点样式 
														 | 
														
														 | 
														
															 // 自定义圆点样式 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const createMarkerContent = (color = 'rgba(0, 0, 0, 0.4)') => { 
														 | 
														
														 | 
														
															 const createMarkerContent = (color = 'rgba(0, 0, 0, 0.4)') => { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -30,6 +33,12 @@ const createMarkerContent = (color = 'rgba(0, 0, 0, 0.4)') => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     `; 
														 | 
														
														 | 
														
															     `; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//高亮样式 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const createMarkerImg = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return ` 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        <img style="width: 38px;height: 38px;" src="${require('@/assets/images/map/status/active-icon.png')}"> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    `; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 初始化地图 
														 | 
														
														 | 
														
															 // 初始化地图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const initMap = async () => { 
														 | 
														
														 | 
														
															 const initMap = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     try { 
														 | 
														
														 | 
														
															     try { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -41,7 +50,7 @@ const initMap = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 创建地图实例 
														 | 
														
														 | 
														
															             // 创建地图实例 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             map.value = new AMap.Map("map-container", { 
														 | 
														
														 | 
														
															             map.value = new AMap.Map("map-container", { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 zoom: 18, // 初始缩放级别 
														 | 
														
														 | 
														
															                 zoom: 18, // 初始缩放级别 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                center: allPoints.value[0].lngLat, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                center: [113.6149629 ,23.58594117], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 layers: [ 
														 | 
														
														 | 
														
															                 layers: [ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     // 卫星 
														 | 
														
														 | 
														
															                     // 卫星 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     new AMap.TileLayer.Satellite(), 
														 | 
														
														 | 
														
															                     new AMap.TileLayer.Satellite(), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -50,61 +59,76 @@ const initMap = async () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 初始化 MouseTool 
														 | 
														
														 | 
														
															             // 初始化 MouseTool 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             mouseTool.value = new AMap.MouseTool(map.value); 
														 | 
														
														 | 
														
															             mouseTool.value = new AMap.MouseTool(map.value); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            // // 添加点位 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            allPoints.value.forEach((point) => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                point.icon = new AMap.Marker({ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    position: point.lngLat, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    map: map.value, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    content: createMarkerContent(point.color), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    offset: new AMap.Pixel(-7, -7), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                point.type = 'defalutIcon' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                // 绑定点击事件 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                point.icon.on('click', () => { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if(point.type === 'defalutIcon'){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        point.icon.setContent(createMarkerContent('#FFD489')); // 修改颜色 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        point.type = 'activeIcon' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        point.icon.setContent(createMarkerContent(point.color)); // 修改颜色 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        point.type = 'defalutIcon' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                defalutAllPoints.value.push(point) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            const latLngs = allPoints.value.map(item =>item.icon) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            map.value.setFitView(latLngs,{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                padding: [0, 0, 0, 0], // 上下左右的边距 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                maxZoom: 18, // 最大缩放级别 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            }) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+             
														 | 
													
												
											
												
													
														| 
														 | 
														
															             startRectangleSelection() 
														 | 
														
														 | 
														
															             startRectangleSelection() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 监听框选完成事件 
														 | 
														
														 | 
														
															             // 监听框选完成事件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             mouseTool.value.on("draw", (event) => { 
														 | 
														
														 | 
														
															             mouseTool.value.on("draw", (event) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                const { obj } = event; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(mapEventType.value==='click') return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                const { obj} = event; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if (obj instanceof AMap.Rectangle) { 
														 | 
														
														 | 
														
															                 if (obj instanceof AMap.Rectangle) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     selectedArea.value = obj; 
														 | 
														
														 | 
														
															                     selectedArea.value = obj; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     map.value.remove(selectedArea.value); 
														 | 
														
														 | 
														
															                     map.value.remove(selectedArea.value); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     checkPointsInArea(); // 检查框选区域内的点位 
														 | 
														
														 | 
														
															                     checkPointsInArea(); // 检查框选区域内的点位 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             }); 
														 | 
														
														 | 
														
															             }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); 
														 | 
														
														 | 
														
															         }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } catch (error) { 
														 | 
														
														 | 
														
															     } catch (error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         console.error("地图加载失败:", error); 
														 | 
														
														 | 
														
															         console.error("地图加载失败:", error); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//重置数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const resetData = () =>{ 
														 | 
														
														 | 
														
															 const resetData = () =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     allPoints.value = defalutAllPoints.value 
														 | 
														
														 | 
														
															     allPoints.value = defalutAllPoints.value 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     allPoints.value.forEach(item =>{ 
														 | 
														
														 | 
														
															     allPoints.value.forEach(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         item.icon.setContent(createMarkerContent(item.color)) 
														 | 
														
														 | 
														
															         item.icon.setContent(createMarkerContent(item.color)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        item.icon.setOffset(new window.AMap.Pixel(-7, -7)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         item.type = 'defalutIcon' 
														 | 
														
														 | 
														
															         item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }) 
														 | 
														
														 | 
														
															     }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//初始化数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const initData = () =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    defalutAllPoints.value = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    totalList.value.forEach(item => map.value.remove(item.icon)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    totalList.value = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    allPoints.value.forEach(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        item.icon = new window.AMap.Marker({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            position: item.lngLat, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            map: map.value, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            content: createMarkerContent(item.color), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            offset: new window.AMap.Pixel(-7, -7), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // 绑定点击事件 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        item.icon.on('click', () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            mapEventType.value = 'click' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(item.type === 'defalutIcon'){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.icon.setContent(createMarkerImg());  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.icon.setOffset(new window.AMap.Pixel(-18, -18)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.type = 'activeIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                const arr = pointList.value.filter(ele => ele.id === item.id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(arr.length===0){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    pointList.value.push(item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            }else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.icon.setContent(createMarkerContent(item.color));  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.icon.setOffset(new window.AMap.Pixel(-7, -7)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            setTimeout(()=>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                mapEventType.value = 'draw' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            },100) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        defalutAllPoints.value.push(item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    map.value.setFitView(null, false, [0, 0, 0, 0]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 开始框选 
														 | 
														
														 | 
														
															 // 开始框选 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const startRectangleSelection = () => { 
														 | 
														
														 | 
														
															 const startRectangleSelection = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if (mouseTool.value) { 
														 | 
														
														 | 
														
															     if (mouseTool.value) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -115,17 +139,24 @@ const startRectangleSelection = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fillColor: "#000000", // 填充颜色 
														 | 
														
														 | 
														
															             fillColor: "#000000", // 填充颜色 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fillOpacity: 0.5, // 填充透明度 
														 | 
														
														 | 
														
															             fillOpacity: 0.5, // 填充透明度 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }); // 启用矩形框选工具 
														 | 
														
														 | 
														
															         }); // 启用矩形框选工具 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        map.value.setDefaultCursor("crosshair"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ // 停止绘制矩形 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const stopDrawRectangle = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    mouseTool.value.close(); // 关闭 mouseTool 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    map.value.setDefaultCursor("default"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 清除框选 
														 | 
														
														 | 
														
															 // 清除框选 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const clearSelection = () => { 
														 | 
														
														 | 
														
															 const clearSelection = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     if (selectedArea.value) { 
														 | 
														
														 | 
														
															     if (selectedArea.value) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         map.value.remove(selectedArea.value); // 移除框选区域 
														 | 
														
														 | 
														
															         map.value.remove(selectedArea.value); // 移除框选区域 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         selectedArea.value = null; 
														 | 
														
														 | 
														
															         selectedArea.value = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        resetData() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        selectedPoints.value = []; // 清空选中的点位 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    resetData()                                                                                                                                                                                                                                                                                                                                       
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    selectedPoints.value = []; // 清空选中的点位 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 检查框选区域内的点位 
														 | 
														
														 | 
														
															 // 检查框选区域内的点位 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -135,17 +166,18 @@ const checkPointsInArea = () => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     selectedPoints.value = allPoints.value.filter((point) => { 
														 | 
														
														 | 
														
															     selectedPoints.value = allPoints.value.filter((point) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return bounds.contains(point.lngLat); // 判断点位是否在框选区域内 
														 | 
														
														 | 
														
															         return bounds.contains(point.lngLat); // 判断点位是否在框选区域内 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }); 
														 | 
														
														 | 
														
															     }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     
														 | 
													
												
											
												
													
														| 
														 | 
														
															     selectedPoints.value.forEach(item =>{ 
														 | 
														
														 | 
														
															     selectedPoints.value.forEach(item =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if(item.type==='defalutIcon'){ 
														 | 
														
														 | 
														
															         if(item.type==='defalutIcon'){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            item.icon.setContent(createMarkerContent('#FFD489')) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setContent(createMarkerImg()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setOffset(new window.AMap.Pixel(-18, -18)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.type = 'activeIcon' 
														 | 
														
														 | 
														
															             item.type = 'activeIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }else{ 
														 | 
														
														 | 
														
															         }else{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.icon.setContent(createMarkerContent(item.color)) 
														 | 
														
														 | 
														
															             item.icon.setContent(createMarkerContent(item.color)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            item.icon.setOffset(new window.AMap.Pixel(-7, -7)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             item.type = 'defalutIcon' 
														 | 
														
														 | 
														
															             item.type = 'defalutIcon' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }) 
														 | 
														
														 | 
														
															     }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    const arr = selectedPoints.value.filter(item =>item.type==='activeIcon') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    eventBus.emit('map:list',arr) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 const speciesArr = ref([]) 
														 | 
														
														 | 
														
															 const speciesArr = ref([]) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -163,10 +195,20 @@ const getList = () =>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 lngLat:convertPointToArray(item.point) 
														 | 
														
														 | 
														
															                 lngLat:convertPointToArray(item.point) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         }) 
														 | 
														
														 | 
														
															         }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        initMap() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        initData() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     }) 
														 | 
														
														 | 
														
															     }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+const totalList = ref([]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+function getSelectPoint(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    totalList.value = selectedPoints.value.concat(pointList.value) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    const arr = totalList.value.filter(item =>item.type==='activeIcon') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return arr 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+defineExpose({getSelectPoint}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 function getSpeciesList(arr){ 
														 | 
														
														 | 
														
															 function getSpeciesList(arr){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     speciesArr.value = arr 
														 | 
														
														 | 
														
															     speciesArr.value = arr 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     getList() 
														 | 
														
														 | 
														
															     getList() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -174,14 +216,19 @@ function getSpeciesList(arr){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 // 组件挂载时初始化地图 
														 | 
														
														 | 
														
															 // 组件挂载时初始化地图 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 onMounted(() => { 
														 | 
														
														 | 
														
															 onMounted(() => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    initMap() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     eventBus.on('handle:clear',clearSelection) 
														 | 
														
														 | 
														
															     eventBus.on('handle:clear',clearSelection) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     eventBus.on('species:list',getSpeciesList) 
														 | 
														
														 | 
														
															     eventBus.on('species:list',getSpeciesList) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    eventBus.on('handle:start',startRectangleSelection) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    eventBus.on('handle:end',stopDrawRectangle) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }); 
														 | 
														
														 | 
														
															 }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 onUnmounted(()=>{ 
														 | 
														
														 | 
														
															 onUnmounted(()=>{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     map.value.destroy()// 销毁地图实例以释放资源 
														 | 
														
														 | 
														
															     map.value.destroy()// 销毁地图实例以释放资源 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     eventBus.off('handle:clear',clearSelection) 
														 | 
														
														 | 
														
															     eventBus.off('handle:clear',clearSelection) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     eventBus.off('species:list',getSpeciesList) 
														 | 
														
														 | 
														
															     eventBus.off('species:list',getSpeciesList) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    eventBus.off('handle:start',startRectangleSelection) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    eventBus.off('handle:end',stopDrawRectangle) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }) 
														 | 
														
														 | 
														
															 }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 </script> 
														 | 
														
														 | 
														
															 </script> 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |