positionsdrwmager.js
3.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/**
* @description : (TODO) 创建鼠标绘制管理类
*
* @author bsth@lq
*
* @version 1.0
*
*/
var PositionsDrawingManagerObj = function () {
// 创建鼠标绘制管理类
var drawingManager = '';
var draMangerObj = {
/** 初始化绘制工具类 */
init : function(map,styleOptions) {
drawingManager = new BMapLib.DrawingManager(map, {
//是否开启绘制模式
isOpen : false,
//是否显示工具栏
enableDrawingTool : false,
drawingToolOptions : {
//位置
anchor : BMAP_ANCHOR_TOP_RIGHT,
//偏离值
offset : new BMap.Size(5, 5),
//工具栏缩放比例
scale : 0.8
},
//线的样式
polygonOptions : styleOptions
});
// 添加绘画完成事件
drawingManager.addEventListener('polygoncomplete', function(e) {
drawingManager.close;
if (e.getPath().length <= 2) {
// 弹出提示消息
layer.msg('The coordinate points cannot be less than three...');
// 清除地图覆盖物
StationPositionsWorldsBMap.clearMarkAndOverlays();
var addStation = PositionsStationObj.getAddStation();
var stationId = addStation.stationId;
PositionsPublicFunctions.initStationInfo(stationId);
PositionsStationObj.setAddStation({});
return false;
}else {
var pointE = e;
// 多变行质心点
var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;
var addPolyGonLen_ = pointE.getPath().length;
for(var k =0;k<addPolyGonLen_;k++) {
if(k==0) {
bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
}else {
bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
}
}
bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;
/** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
PositionsStationObj.setEitdStationBJwpoints(addSttationPoints_);
/** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
PositionsStationObj.setEitdStationShapesType('d');
/** 设置修改站点集合对象Circle radius属性值 @param:<radius:Circle radius) */
PositionsStationObj.setEitdStationRadius('');
/** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
PositionsStationObj.setEitdBPolygonGrid(bPloygonGrid);
$.get('edit.html', function(m){
$(pjaxContainer).append(m);
$('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]);
});
}
});
return drawingManager;
},
openDrawingManager : function() {
// 打开鼠标绘画工具
drawingManager.open();
// 设置属性
drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
}
}
return draMangerObj;
}();