From 5e41e12beed2a2dc38521532fe774a820c573d17 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Sat, 8 Jan 2022 17:36:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E7=99=BE=E5=BA=A6?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E9=85=8D=E7=BD=AE=E5=92=8C=E8=BE=B9=E7=95=8C?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../properties/map/BaiduMapProperties.java | 29 ++++++++++++ .../route/grid/GridRouteController.java | 17 +++++-- .../static/baidu-map/baidu-map-1.0.0.min.js | 45 ++++++++++++++----- .../templates/grid/grid/default/get.html | 7 +-- .../templates/grid/grid/default/list.html | 9 ++-- .../templates/grid/grid/default/save.html | 10 ++--- .../templates/grid/grid/default/update.html | 9 ++-- 7 files changed, 93 insertions(+), 33 deletions(-) create mode 100644 basic-properties/src/main/java/ink/wgink/properties/map/BaiduMapProperties.java diff --git a/basic-properties/src/main/java/ink/wgink/properties/map/BaiduMapProperties.java b/basic-properties/src/main/java/ink/wgink/properties/map/BaiduMapProperties.java new file mode 100644 index 00000000..859ceb95 --- /dev/null +++ b/basic-properties/src/main/java/ink/wgink/properties/map/BaiduMapProperties.java @@ -0,0 +1,29 @@ +package ink.wgink.properties.map; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @ClassName: BaiduMapProperties + * @Description: 百度地图配置 + * @Author: wanggeng + * @Date: 2022/1/8 3:28 PM + * @Version: 1.0 + */ +@Component +@ConfigurationProperties(prefix = "map.baidu-map") +public class BaiduMapProperties extends MapProperties { + + /** + * 边界 + */ + private String boundary; + + public String getBoundary() { + return boundary == null ? "" : boundary.trim(); + } + + public void setBoundary(String boundary) { + this.boundary = boundary; + } +} diff --git a/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java b/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java index 625e6352..cc629d0d 100644 --- a/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java +++ b/module-map/src/main/java/ink/wgink/module/map/controller/route/grid/GridRouteController.java @@ -1,7 +1,9 @@ package ink.wgink.module.map.controller.route.grid; import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.properties.map.BaiduMapProperties; import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,19 +21,28 @@ import org.springframework.web.servlet.ModelAndView; @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/grid") public class GridRouteController { + @Autowired + private BaiduMapProperties baiduMapProperties; + @GetMapping("save") public ModelAndView save() { - return new ModelAndView("grid/grid/default/save"); + ModelAndView mv = new ModelAndView("grid/grid/default/save"); + mv.addObject("baiduMapProperties", baiduMapProperties); + return mv; } @GetMapping("update") public ModelAndView update() { - return new ModelAndView("grid/grid/default/update"); + ModelAndView mv = new ModelAndView("grid/grid/default/update"); + mv.addObject("baiduMapProperties", baiduMapProperties); + return mv; } @GetMapping("get") public ModelAndView get() { - return new ModelAndView("grid/grid/default/get"); + ModelAndView mv = new ModelAndView("grid/grid/default/get"); + mv.addObject("baiduMapProperties", baiduMapProperties); + return mv; } @GetMapping("list") diff --git a/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js b/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js index 8f8f60b4..44cf924b 100644 --- a/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js +++ b/module-map/src/main/resources/static/baidu-map/baidu-map-1.0.0.min.js @@ -14,18 +14,18 @@ function BaiduMap(mapId, mapConfig) { this.defaultLng = 116.280190; this.defaultLat = 40.049191; this.defaultZoom = 19; - this.startMarker = null, - this.const = { - START_MARKER_ICON: 'images/marker.png', - color: { - GREEN: '#009688', - BLUE: '#1E9FFF', - ORANGE: '#FFB800', - RED: '#FF5722', - CYAN: '#2F4056', - BLACK: '#393D49' - } - }; + this.startMarker = null; + this.const = { + START_MARKER_ICON: 'images/marker.png', + color: { + GREEN: '#009688', + BLUE: '#1E9FFF', + ORANGE: '#FFB800', + RED: '#FF5722', + CYAN: '#2F4056', + BLACK: '#393D49' + } + }; // 标签数组 this.labelArray = []; // 网格操作 @@ -912,4 +912,25 @@ BaiduMap.prototype.setGridArray = function (gridArray) { self.gridOption.gridArray.push(grid); setPolygon(grid); } +} +BaiduMap.prototype.setBoundary = function(areaName, option) { + if(!areaName) { + return; + } + var self = this; + var bd = new BMap.Boundary(); + bd.get(areaName, function (rs) { + var count = rs.boundaries.length; //行政区域的点有多少个 + if (count === 0) { + console.log('未能获取当前输入行政区域'); + return ; + } + var ply = new BMap.Polygon(rs.boundaries[0], { + strokeColor: option && option.strokeColor ? option.strokeColor : 'black', + strokeWeight: option && option.strokeWeight ? option.strokeWeight : 2, + fillColor: option && option.fillColor ? option.fillColor : 'white', + fillOpacity: option && option.fillOpacity ? option.fillOpacity : 0.01 + }); //建立多边形覆盖物 + self.map.addOverlay(ply); //添加覆盖物 + }); } \ No newline at end of file diff --git a/module-map/src/main/resources/templates/grid/grid/default/get.html b/module-map/src/main/resources/templates/grid/grid/default/get.html index 0e922755..651c37bf 100644 --- a/module-map/src/main/resources/templates/grid/grid/default/get.html +++ b/module-map/src/main/resources/templates/grid/grid/default/get.html @@ -28,7 +28,7 @@ - - -