From 558c4250a435b1a4f2f6a0fd0f0ee7f3741cc307 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Fri, 23 May 2025 16:19:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E5=AD=90=E7=9C=8B=E6=9D=BF=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lineManagement/child/setLonAndLat.js | 88 +++++++++++-------- 1 file changed, 51 insertions(+), 37 deletions(-) diff --git a/src/main/resources/static/js/basic/lineManagement/child/setLonAndLat.js b/src/main/resources/static/js/basic/lineManagement/child/setLonAndLat.js index 7909bbb..ae9f325 100644 --- a/src/main/resources/static/js/basic/lineManagement/child/setLonAndLat.js +++ b/src/main/resources/static/js/basic/lineManagement/child/setLonAndLat.js @@ -55,7 +55,7 @@ function initData() { let points = JSON.parse(objParams.points) intLng = points[0].lng; intLat = points[0].lat; - }else{ + } else { intLng = list[0].proLon ? list[0].proLon : list[0].lon; intLat = list[0].proLat ? list[0].proLat : list[0].lat; } @@ -167,50 +167,60 @@ function initMap(list) { styleJson, }); } - initTowerLine(list); - // 点击地图添加标记 - map.addEventListener("click", function (e) { - addMarker(e.latlng.lng, e.latlng.lat); - }); + // 正确做法:确保只添加一次 + /*if (!map._clickListenerAdded) { + map.addEventListener("click", function(e) { + addMarker(e.latlng.lng, e.latlng.lat); + }); + map._clickListenerAdded = true; // 标记已添加 + }*/ + initTowerLine(list); if (objParams.points) { let points = JSON.parse(objParams.points) $.each(points, function (i, item) { addMarker(item.lng, item.lat) viewPointLine(); }) + } else { + // 点击地图添加标记 + map.addEventListener("click", function (e) { + addMarker(e.latlng.lng, e.latlng.lat); + }); } +} - function addMarker(lng, lat) { - var point = new BMapGL.Point(lng, lat); - // 创建点标记 - var marker = new BMapGL.Marker(point); - // 添加到地图 - map.addOverlay(marker); - // 创建标签 - var label = new BMapGL.Label("点" + (markerCount + 1), { - position: point, - offset: new BMapGL.Size(10, -30) - }); - label.setStyle({ - color: "#333", - fontSize: "12px", - fontWeight: "bold", - backgroundColor: "rgba(255,255,255,0.9)", - border: "1px solid #ddd", - borderRadius: "4px", - padding: "2px 6px" - }); - map.addOverlay(label); - // 存储标记和标签 - markers.push({ - marker: marker, - label: label, - point: point - }); - // 更新计数器 - markerCount++; - } +// 添加点坐标 +function addMarker(lng, lat) { + var point = new BMapGL.Point(lng, lat); + // 创建点标记 + var marker = new BMapGL.Marker(point); + // 添加到地图 + map.addOverlay(marker); + // 创建标签 + var label = new BMapGL.Label("点" + (markerCount + 1), { + position: point, + offset: new BMapGL.Size(10, -30) + }); + label.setStyle({ + color: "#333", + fontSize: "12px", + fontWeight: "bold", + backgroundColor: "rgba(255,255,255,0.9)", + border: "1px solid #ddd", + borderRadius: "4px", + padding: "2px 6px" + }); + map.addOverlay(label); + // 存储标记和标签 + markers.push({ + marker: marker, + label: label, + point: point + }); + console.log(markers) + // 更新计数器 + markerCount++; } // 杆塔连线 @@ -315,6 +325,10 @@ function viewPointLine() { }); polylineView = polyline; map.addOverlay(polyline); + // 点击地图添加标记 + map.addEventListener("click", function (e) { + addMarker(e.latlng.lng, e.latlng.lat); + }); } // 保存点位数据 @@ -331,7 +345,7 @@ function saveData() { points.push({ lng: item.point.lng, lat: item.point.lat, - sort:index + 1 + sort: index + 1 }); }) let frameId = parent.document.getElementById('addDataRopeway').getElementsByTagName("iframe")[0];