From f7ab8838f095134c65d2628fe54a6fb8c5df146e Mon Sep 17 00:00:00 2001
From: 少年 <1392120328@qq.com>
Date: 星期三, 07 二月 2024 16:52:38 +0800
Subject: [PATCH] 111

---
 src/utils/map2.js |   87 +++++++++++++------------------------------
 1 files changed, 27 insertions(+), 60 deletions(-)

diff --git a/src/utils/map2.js b/src/utils/map2.js
index e7cef48..b86cdb5 100644
--- a/src/utils/map2.js
+++ b/src/utils/map2.js
@@ -2203,6 +2203,7 @@
 
 
 //openlayer 鍒涘缓鐐逛綅
+window.pointArr = [];
 export function createPointMarker(position, obj) {
     let startFeature = new ol.Feature({
         geometry: new ol.geom.Point(position),
@@ -2210,6 +2211,12 @@
     startFeature.setProperties({
         desc: obj,
     });
+    if (window.pointArr && window.pointArr.length > 0) {
+        window.pointArr.forEach(item => {
+            window.mapapi.removeLayer(item)
+        })
+        window.pointArr = []
+    }
     let MarkerLayer = new ol.layer.Vector({
         id: 'LocationPoint',
         name: '鏍囪鐐�',
@@ -2229,26 +2236,18 @@
         }),
         zIndex: 1099,
     })
+    window.pointArr.push(MarkerLayer)
     return MarkerLayer;
 }
 
 //openlayer 鍦板浘鐐瑰嚮浜嬩欢
 export function setClick(state) {
-    console.log('setClick');
-    let ponitPanel = document.getElementById('ponitPanel');
-    let overlay = new ol.Overlay({
-        element: ponitPanel,
-        autoPan: {
-            animation: {
-                duration: 250,
-            },
-        },
-    });
-    window.map.addOverlay(overlay);
-
-    // let _clickCallback = callback;
     function handleClick(e) {
-        console.log(e.coordinate);
+
+        console.log(e,'111')
+
+        store.setLayerPanelShow(false);
+
         // 鍦熷湴绠$悊
         if (store.tdglInfo.flag) {
             axios
@@ -2262,7 +2261,7 @@
                 ).then(response => {
                     let center = { lon: 0, lat: 0 };
                     if (window.tdglLine) {
-                        window.map.removeLayer(window.tdglLine);
+                        window.mapapi.removeLayer(window.tdglLine);
                         window.tdglLine = null;
                     }
                     var format = new ol.format.WKT(); // 鍒涘缓涓�涓� WKT 瑙f瀽鍣�
@@ -2274,7 +2273,7 @@
                             features: [feature] // 灏嗚绱犲璞″姞鍏ュ埌鍥惧眰婧愪腑
                         })
                     });
-                    window.map.addLayer(window.tdglLine)
+                    window.mapapi.addLayer(window.tdglLine)
 
 
                     axios
@@ -2351,7 +2350,7 @@
                                         rjl,
                                         jzxg,
                                         jzmd,
-                                        lon:e.coordinate[0],
+                                        lon: e.coordinate[0],
                                         lat: e.coordinate[1],
                                     }
                                 }
@@ -2367,38 +2366,23 @@
             return;
         }
 
+        window.mapapi.forEachFeatureAtPixel(e.pixel, function (feature) {
 
-        window.map.forEachFeatureAtPixel(e.pixel, function (feature) {
-            // console.log(feature, '111111')
+            console.log(feature,'feature')
             if (feature && feature.values_.desc) {
-                ponitPanel.style.display = 'block'
-
                 let obj = feature.values_.desc
                 objdata = {
                     POITYPE: "POINT",
                     name: obj.name,
                     address: obj.address,
-                    lon: obj.lng,
-                    lat: obj.lat
+                    // lon: obj.lng,
+                    // lat: obj.lat
                 }
 
-
-                ponitPanel.innerHTML = `
-                       <div class="ponitPanel-name">
-                         <span>鍚嶇О锛�</span>
-                         <span>${objdata.name}</span>
-                       </div>
-                     <div class="ponitPanel-value"> 
-                        <span>鍦板潃锛�</span>
-                       <span>${objdata.address}</span>
-                    </div>`
-
-                setTimeout(() => {
-                    overlay.setPosition(e.coordinate);
-                }, 0)
-
-                // store.setPoplayerShowAction(true);
-                // store.setPoplayerListAction(objdata);
+                store.setTdglShow(false);
+                store.setTdlgInfo({});
+                store.setdwShow(true);
+                store.setdwInfo(objdata);
                 // if (window.instance) {
                 //     window.instance.$destroy();
                 // }
@@ -2412,7 +2396,7 @@
         });
     }
     if (state) {
-        clickEvent = window.map.on('click', handleClick);
+        clickEvent = window.mapapi.on('click', handleClick);
     } else {
         ol.Observable.unByKey(clickEvent)
         clickEvent = null
@@ -2421,26 +2405,9 @@
 
 
 export function flyToPoint(posisitons) {
-    // let zoom = window.map.getView().getZoom();
-    // if (zoom >= 16) {
-    //     zoom = 12
-    // }
-    // let duration = 2000;
-    window.map.getView().animate({
+    window.mapapi.getView().animate({
         center: posisitons,
-        zoom: 12,
+        zoom: 15,
         duration: 1500
     })
-    // window.map.getView().animate(
-    //     //鍔ㄧ敾寮�濮嬫椂
-    //     {
-    //         zoom: zoom > 16 ? zoom - 0.01 : zoom + 0.01,
-    //         duration: duration / 2,
-    //     },
-    //     //鍔ㄧ敾缁撴潫鏃�
-    //     {
-    //         zoom: zoom >= 16 ? 16 : zoom + 4,
-    //         duration: duration / 2,
-    //     }
-    // );
 }
\ No newline at end of file

--
Gitblit v1.9.3