From 110f0ad6a924256e756481dc70ac2721f662da17 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 21 五月 2025 11:37:42 +0800 Subject: [PATCH] 修改bug --- ManagementOKTravel/guns-admin/src/main/webapp/static/modular/system/tSite/electricFence.js | 105 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 80 insertions(+), 25 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 7ca5da7..3a357ac 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 @@ -1,15 +1,59 @@ var map = new AMap.Map('container',{ resizeEnable: true, - zoom:10 + zoom:15 }); +setCenterCoordinate(); +function setCenterCoordinate() { + var locationsStr = $("#locationList1").val(); + if ("" != locationsStr && null != locationsStr) { + var locations = JSON.parse(locationsStr); + var gid = locations[0].coordinate; + var path = convertData(gid); + var center = path[0]; + map.setCenter(center) + } +} +function setElectricFence() { + var locationsStr = $("#locationList1").val(); + if ("" != locationsStr && null != locationsStr) { + var locations = JSON.parse(locationsStr); + for (let i = 0; i < locations.length; i++) { + console.log(locations[i]) + var gid = locations[i].coordinate + if (gid == null || gid == "") { + continue; + } + var path = convertData(gid) + var polygon = new AMap.Polygon({ + path: path, + strokeWeight: 1, + fillOpacity: 0.4, + fillColor: '#00b0ff', + strokeColor: '#80d8ff' + }); + map.add(polygon); + } + } +} +function convertData(data) { + var coordinates = data.split(';'); + var path = []; + for (var i = 0; i < coordinates.length; i++) { + var coordinate = coordinates[i].split(','); + var lng = parseFloat(coordinate[0]); + var lat = parseFloat(coordinate[1]); + path.push([lng, lat]); + } + return path; +} var value = ""; map.getCity( - callback=function (result) { - value = result.city; - drawBounds(); - } + callback=function (result) { + value = result.city; + drawBounds(); + } ); @@ -28,7 +72,7 @@ mouseTool.on('draw',function(e){ overlays.push(e.obj); console.log(e.obj.getPath()); - + switch (name) { case 'polyline':{//折线图 var polyline = e.obj.getPath(); @@ -51,6 +95,10 @@ case 'circle':{//圆形 var center = e.obj.getCenter(); var radius = e.obj.getRadius(); + if(radius > 5000){ + Feng.error("创建电子围栏失败,圆半径不能大于5000米"); + return; + } coordinate += center.lng + ',' + center.lat + ';' + radius + "_"; objs.circle.push(e.obj); break; @@ -66,7 +114,7 @@ if(value == ''){ value = '北京市'; } - + //加载行政区划插件 if(!district){ //实例化DistrictSearch @@ -216,7 +264,7 @@ return; } coordinate = coordinate.substring(0, coordinate.length - 1); - + } function editAll() { @@ -229,15 +277,15 @@ polyEditor.on('addnode', function(event) { // log.info('触发事件:addnode') }) - + polyEditor.on('adjust', function(event) { // log.info('触发事件:adjust') }) - + polyEditor.on('removenode', function(event) { // log.info('触发事件:removenode') }) - + polyEditor.on('end', function(e) { var polyline = e.target.getPath(); getCoordinate(polyline); @@ -245,24 +293,24 @@ editors.push(polyEditor); polyEditor.open(); } - + //多边形 for(var i in objs.polygon){ var polygon = objs.polygon[i]; var polyEditor = new AMap.PolyEditor(map, polygon) - + polyEditor.on('addnode', function(event) { // log.info('触发事件:addnode') }) - + polyEditor.on('adjust', function(event) { // log.info('触发事件:adjust') }) - + polyEditor.on('removenode', function(event) { // log.info('触发事件:removenode') }) - + polyEditor.on('end', function(e) { var polygon = e.target.getPath(); getCoordinate(polygon); @@ -270,17 +318,17 @@ editors.push(polyEditor); polyEditor.open(); } - - + + //矩形 for(var i in objs.rectangle){ var rectangle = objs.rectangle[i]; var rectangleEditor = new AMap.RectangleEditor(map, rectangle) - + rectangleEditor.on('adjust', function(event) { // log.info('触发事件:adjust') }) - + rectangleEditor.on('end', function(e) { var polygon = e.target.getPath(); getCoordinate(polygon); @@ -288,20 +336,24 @@ editors.push(rectangleEditor); rectangleEditor.open(); } - + //圆形 for(var i in objs.circle){ var circle = objs.circle[i]; var circleEditor = new AMap.CircleEditor(map, circle) - + circleEditor.on('move', function(event) { // log.info('触发事件:move') }) - + circleEditor.on('adjust', function(e) { var radius = e.target.getRadius(); + if(radius > 5000){ + Feng.error("创建电子围栏失败,圆半径不能大于5000米"); + return; + } }) - + circleEditor.on('end', function(e) { var center = e.target.getCenter(); var radius = e.target.getRadius(); @@ -318,4 +370,7 @@ var editor = editors[i]; editor.close(); } -} \ No newline at end of file +} +$(function () { + setElectricFence() +}) \ No newline at end of file -- Gitblit v1.7.1