diff --git a/basic-properties/src/main/java/ink/wgink/properties/map/MapProperties.java b/basic-properties/src/main/java/ink/wgink/properties/map/MapProperties.java index 707c5482..0fc8524a 100644 --- a/basic-properties/src/main/java/ink/wgink/properties/map/MapProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/map/MapProperties.java @@ -11,6 +11,7 @@ public class MapProperties { private String centerLng; private String centerLat; + private String zoom; public String getCenterLng() { return centerLng == null ? "" : centerLng.trim(); @@ -27,4 +28,12 @@ public class MapProperties { public void setCenterLat(String centerLat) { this.centerLat = centerLat; } + + public String getZoom() { + return zoom == null ? "" : zoom.trim(); + } + + public void setZoom(String zoom) { + this.zoom = zoom; + } } diff --git a/module-map/src/main/resources/static/super-map/js/super-map-1.0.0.min.js b/module-map/src/main/resources/static/super-map/js/super-map-1.0.0.min.js index 092d04f9..650fa4ab 100644 --- a/module-map/src/main/resources/static/super-map/js/super-map-1.0.0.min.js +++ b/module-map/src/main/resources/static/super-map/js/super-map-1.0.0.min.js @@ -38,6 +38,8 @@ L.control.zoom().addTo(map); L.control.scale().addTo(map); L.supermap.tiledMapLayer(baseLayerUrl, {noWrap: true}).addTo(map); + this.gridBGLayer = L.layerGroup([]).addTo(this.map); + this.gridLayer = L.featureGroup([]).addTo(this.map); } /** @@ -45,8 +47,6 @@ */ SuperMap.prototype.initDrawPolygon = function () { var self = this; - self.gridLayer = L.featureGroup([]).addTo(self.map); - self.gridBGLayer = L.layerGroup([]).addTo(self.map); self.map.pm.setLang('zh'); self.map.pm.addControls({ positions: { @@ -130,6 +130,21 @@ } } + /** + * 初始化网格背景 + * @param gridArray + */ + SuperMap.prototype.initGrid = function (gridArray, callback) { + if(callback) { + this.gridLayer.on('click', callback); + } + for (var i = 0, item; item = gridArray[i++];) { + var drawPolygon = this.drawPolygon(item.pointArray, item.fillColor, null); + drawPolygon.grid = item; + this.gridLayer.addLayer(drawPolygon); + } + } + /** * 初始化网格 * @param polygonArray diff --git a/module-map/src/main/resources/templates/grid/grid/super-map/get.html b/module-map/src/main/resources/templates/grid/grid/super-map/get.html index 0dd7fe05..d344feba 100644 --- a/module-map/src/main/resources/templates/grid/grid/super-map/get.html +++ b/module-map/src/main/resources/templates/grid/grid/super-map/get.html @@ -52,7 +52,7 @@ lat: [[${superMapProperties.centerLat}]] } - var baiduMap = null; + var superMap = null; var gridMember = { users: [], gridArray: [] @@ -63,7 +63,7 @@ } // 初始化网格背景 - function initGridBG(areaCode, callback) { + function initGridBG(areaCode) { var layIndex; top.restAjax.get(top.restAjax.path('api/grid/list/except/{gridId}', [gridId]), { areaCode: areaCode @@ -72,21 +72,16 @@ for(var i = 0, item; item = data[i++];) { var pointArray = []; for(var j = 0, jItem; jItem = item.pointArray[j++];) { - pointArray.push(new BaiduMap.Point(jItem.lng, jItem.lat)); + pointArray.push([jItem.lat, jItem.lng]); } gridArray.push({ id: item.gridId, label: item.gridName, - fillColor: '#ffffff', + fillColor: '#5B9AFF', pointArray: pointArray }) } - - baiduMap.initBackgroundGrid({ - gridArray: gridArray - }); - - callback ? callback() : ''; + superMap.initGridBG(gridArray); }, function(code, data) { top.dialog.msg(data.msg); }, function () { @@ -97,42 +92,32 @@ } function initMap(callback) { - $('#baiduMapContainer').css({ + $('#superMapContainer').css({ width: '100%', height: ($win.height() - 30) +'px' }); - baiduMap = new BaiduMap('baiduMapContainer', { - single: true, - onGridStartEdit: function(baiduMap) { - $('#confirmBtn').hide(); - }, - onGridStopEdit: function(gridArray) { - gridMember.gridArray = gridArray; - $('#confirmBtn').show(); - } + superMap = new SuperMap('superMapContainer', 'mapBox', { + center: centerPoint, + zoom: [[${superMapProperties.zoom}]] }); - baiduMap.setCenterAndZoom(centerPoint, 14); - var mapTypeControl = new BMap.MapTypeControl({ - mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP], - }); - baiduMap.getMap().addControl(mapTypeControl); - baiduMap.setDefaultConfig(); - baiduMap.initGridOptionEvent(); - baiduMap.initColorOption(); + superMap.init([[${superMapProperties.baseMapUrl}]]); callback ? callback() : ''; } // 初始化内容 function initData() { + var loadLayerIndex; top.restAjax.get(top.restAjax.path('api/grid/get/{gridId}', [gridId]), {}, null, function(code, data) { initMap(function() { // 背景层 - initGridBG(data.areaCode, function() { - // 网格层 - var grid = new BaiduMap.Grid(data.gridId, data.pointArray); - grid.setFillColor(data.fillColor); - baiduMap.setGridArray([grid]); - }); + initGridBG(data.areaCode); + // 网格 + superMap.initGrid([{ + id: data.gridId, + label: data.gridName, + fillColor: data.fillColor, + pointArray: data.pointArray + }]); }); }, function (code, data) { top.dialog.msg(data.msg); diff --git a/module-map/src/main/resources/templates/grid/grid/super-map/save.html b/module-map/src/main/resources/templates/grid/grid/super-map/save.html index 16d4d254..c74b22c6 100644 --- a/module-map/src/main/resources/templates/grid/grid/super-map/save.html +++ b/module-map/src/main/resources/templates/grid/grid/super-map/save.html @@ -157,7 +157,8 @@ }); superMap = new SuperMap('superMapContainer', 'mapBox', { - center: centerPoint + center: centerPoint, + zoom: [[${superMapProperties.zoom}]] }); superMap.init([[${superMapProperties.baseMapUrl}]]); superMap.initDrawPolygon(); diff --git a/module-map/src/main/resources/templates/grid/grid/super-map/update.html b/module-map/src/main/resources/templates/grid/grid/super-map/update.html index 976106a6..6205d3a7 100644 --- a/module-map/src/main/resources/templates/grid/grid/super-map/update.html +++ b/module-map/src/main/resources/templates/grid/grid/super-map/update.html @@ -149,7 +149,7 @@ gridArray.push({ id: item.gridId, label: item.gridName, - fillColor: '#ffffff', + fillColor: '#5B9AFF', pointArray: pointArray }) } @@ -176,7 +176,8 @@ }); superMap = new SuperMap('superMapContainer', 'mapBox', { - center: centerPoint + center: centerPoint, + zoom: [[${superMapProperties.zoom}]] }); superMap.init([[${superMapProperties.baseMapUrl}]]); superMap.initDrawPolygon(); @@ -186,6 +187,7 @@ // 初始化内容 function initData() { + var loadLayerIndex; top.restAjax.get(top.restAjax.path('api/grid/get/{gridId}', [gridId]), {}, null, function(code, data) { var dataFormData = {}; for(var i in data) {