positionsdrwmager.js 3.41 KB
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('坐标点不能小于等于两个...');
						 
						// 清除地图覆盖物
						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');
							
						 /**  设置修改站点集合对象圆形半径属性值 @param:<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;
	
}();