完善超图网格绘制功能
This commit is contained in:
parent
4495a8262d
commit
ccdddc41ec
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -157,7 +157,8 @@
|
||||
});
|
||||
|
||||
superMap = new SuperMap('superMapContainer', 'mapBox', {
|
||||
center: centerPoint
|
||||
center: centerPoint,
|
||||
zoom: [[${superMapProperties.zoom}]]
|
||||
});
|
||||
superMap.init([[${superMapProperties.baseMapUrl}]]);
|
||||
superMap.initDrawPolygon();
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user