drawingManager.js 3.16 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
			});

			// 添加绘画完成事件
			drawingManager.addEventListener('polygoncomplete', function(polygon) {
				drawingManager.close();
				var points = polygon.getPath();
				if (points.length < 3) {
					// 弹出提示消息
					layer.msg('坐标点不能小于三个,请点击"退出编辑"后重新修改');
					WorldsBMap.getmapBValue().removeOverlay(polygon);

					return false;
				} else {
					var bufferPolygonWkt = new Array();
					for(var i = 0;i < points.length;i++) {
						bufferPolygonWkt.push(points[i].lng + ' ' + points[i].lat)
					}
					bufferPolygonWkt.push(points[0].lng + ' ' + points[0].lat)
					var add =  AddStationObj.getAddStation(), edit = EditStationObj.getEditStation();
					if(!$.isEmptyObject(add)){
						/**  设置新增站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
						AddStationObj.setAddStationShapesType('d');
						/**  设置新增站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
						AddStationObj.setAddStationRadius('');
						/**  设置新增站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
						AddStationObj.setBPolygonGrid(bufferPolygonWkt.join(','));
						$.get('add_stationroute_step2.html', function(m){
							$(pjaxContainer).append(m);
							$('#add_stationroute_step2_modal').trigger('modal.show', [WorldsBMap,GetAjaxData,AddStationObj,LineObj,PublicFunctions]);
						});
					}

					if(!$.isEmptyObject(edit)){
						/**  设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
						EditStationObj.setEditStationShapesType('d');
						/**  设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
						EditStationObj.setEditStationRadius('');
						/**  设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
						EditStationObj.setEitdBPolygonGrid(bufferPolygonWkt.join(','));

						// 加载编辑页面
						$.get('edit_stationroute_step2.html', function(m){
							$(pjaxContainer).append(m);
							$('#edit_stationroute_step2_modal').trigger('modal.show', [WorldsBMap,GetAjaxData,EditStationObj,LineObj,PublicFunctions]);
						});
					}
				}
			});

			return drawingManager;
		},

		openDrawingManager : function() {
			// 打开鼠标绘画工具
			drawingManager.open();
			// 设置属性
			drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
		},

		closeDrawingManager : function() {
			drawingManager.close();
		}
	}
	
	return draMangerObj;
}();