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