From 3dc3bdfbdcdb73ca68ee520bf6a9558c51f32fb3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 26 六月 2025 13:59:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js b/ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js
index 083d74c..3434905 100644
--- a/ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js
+++ b/ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js
@@ -275,7 +275,63 @@
         console.log("市区选择变化,重新获取地图数据");
         getMapData();
     });
+    document.getElementById("find").addEventListener("click", function () {
+        var level = document.getElementById("level").value;
+        var keyword = document.getElementById("district").value;
+
+        if (!keyword) {
+            Feng.error("请输入要查询的行政区名称或编码");
+            return;
+        }
+
+        // 清除旧的边界
+        if (currentBoundaryPolygon) {
+            map.removeOverlay(currentBoundaryPolygon);
+            currentBoundaryPolygon = null;
+        }
+
+        var bdary = new BMap.Boundary();
+        bdary.get(keyword, function (rs) {
+            if (rs && rs.boundaries && rs.boundaries.length > 0) {
+                for (var i = 0; i < rs.boundaries.length; i++) {
+                    var polygon = new BMap.Polygon(rs.boundaries[i], {
+                        strokeColor: "#0000FF",
+                        strokeWeight: 2,
+                        fillColor: "#1791fc",
+                        fillOpacity: 0.4
+                    });
+                    map.addOverlay(polygon);
+                    currentBoundaryPolygon = polygon;
+
+                    // 获取多边形中心点
+                    var path = polygon.getPath();
+                    var bounds = new BMap.Bounds(path[0], path[0]);
+                    for (var j = 1; j < path.length; j++) {
+                        bounds.extend(path[j]);
+                    }
+                    var centerPoint = bounds.getCenter();
+
+                    // 手动设置中心 + 缩放级别
+                    map.setCenter(centerPoint);
+
+                    // 设置缩放级别:
+                    if (level === "province") {
+                        map.setZoom(8); // 省级视角
+                    } else if (level === "city") {
+                        map.setZoom(10); // 市级视角
+                    } else if (level === "district") {
+                        map.setZoom(12); // 区级视角
+                    }
+                }
+            } else {
+                Feng.error("未找到该行政区划边界");
+            }
+        });
+    });
+
 });
+var currentBoundaryPolygon = null; // 存储当前高亮的区域边界
+
 
 // 初始化地图
 function initMap() {

--
Gitblit v1.7.1