drawingManager.js 3.36 KB
var DrawingManagerObj = 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
					
				});
				
				
				
				return drawingManager;
			 
			},
			
			openPointDrawingManager : function(objStation) {
				
				// 打开鼠标绘画工具
				drawingManager.open();
				
				// 设置属性
				drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
				
				// 添加绘画完成事件
				drawingManager.addEventListener('polygoncomplete', function(e) {
					
					drawingManager.close;
					
					if (e.getPath().length <= 2) {
						
						WorldsBMapLine.clearMarkAndOverlays();
						openPointDrawingManager();
						
						// 弹出提示消息
						layer.msg('坐标点不能小于等于两个,请重新绘画!');
						
						return;
						 
					 }else {						 
						
						// 获取编辑的多边形对象
						 var edit_pointE = e;
						 
						 var edit_bPloygonGrid = "";
						 
						 var editPolyGonLen_ = edit_pointE.getPath().length;
						 
						 for(var k =0;k<editPolyGonLen_;k++) {
								
							 if(k==0) {
									
								 edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
									
							 }else {
									
								 edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
									
							 }
								
						 }
						 
						 edit_bPloygonGrid  = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;
						 
						 // 多边形中心点
						 var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;
						 
						 /**  设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
						 objStation.stationBJwpoints = centre_points;
							
						 /**  设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
						 objStation.stationShapesType = 'd';;
							
						 /**  设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
						 objStation.stationRadius = '';
							
						 /**  设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
						 objStation.stationBPolygonGrid = edit_bPloygonGrid;
						 
						 $.get('editstation.html', function(m){
							 
							 $(pjaxContainer).append(m);
							 
							 $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMapLine,objStation,PublicFunctions]);
							 
						 });
					 
					 }
					 
				});
				
			},
			
			closeDrawingManager : function() {
				
				drawingManager.close();
			}
	}
	
	return draMangerObj;
	
}();