positionsdrwmager.js 3.14 KB
/**
 * @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;
}();