stationroute-ajax-getdata.js 8.12 KB
/**
 * GetAjaxData :ajax异步请求
 * 
 * - - - - - -》 collectionSave :系统规划保存请求
 * 
 * - - - - - -》 getStation :树数据获取
 * 
 * - - - - - -》 getStationRoutePoint :查询线路某方向下所有站点的中心百度坐标
 * 
 * - - - - - -》 getLikeStationName :查询是否有已存在站点名称
 * 
 * - - - - - -》 getStationCode:查询站点编码
 * 
 * - - - - - -》 getFormPointEToWGS :原百度坐标转WGS坐标
 * 
 * - - - - - -》 stationSave:新增站点保存
 * 
 * - - - - - -》 stationUpdate:站点更新
 * 
 * - - - - - -》 stationRouteIsDestroy:撤销站点
 * 
 * - - - - - -》 sectionUpdate : 编辑线路走向保存
 * 
 * - - - - - -》 getIdLineName:获取线路名称
 * 
 * - - - - - -》 BpolyGonArrayToWGS:折线百度坐标转WGS坐标
 * 
 * - - - - - -》 MuneBpointsArrayToWGS:手动规划百度坐标转WGS坐标
 * 
 * - - - - - -》 getSectionRouteInfo:查询路段信息
 */

var GetAjaxData = function(){
	 
	var ajaxData = {
			
			// 系统规划保存请求
			collectionSave : function (params,callback) {
				
				$post('/station/collectionSave',params,function(rd) {
					
					callback && callback(rd);
				
				});
				
			},
			
			// 树数据获取
			getStation : function(id_,dir_,callback) {
				
				var treeDateJson = [];
						
				$get('/stationroute/findStations',{'line.id_eq' : id_ , 'directions_eq' : dir_},function(resultdata) {
					
					treeDateJson = createTreeData(resultdata);
							
					callback && callback(treeDateJson);
							
				});
						
			},
			
			// 查询线路某方向下所有站点的中心百度坐标
			getStationRoutePoint : function(id_,dir_,callback) {
				
				$get('/stationroute/getStationRouteCenterPoints',{lineId:id_,direction:dir_},function(result) {
					
					callback && callback(result);
					
				});
						
			},
			
			// 查询是否有已存在站点名称
			getLikeStationName : function (stationName,callback) {
				
				 $get('/station/all', {stationName_eq: stationName}, function(array){
					 
					 callback && callback(array);
					 
				 });
				
			},
			
			// 查询站点编码
			getStationCode : function(callback) {
				
				$get('/station/getStationCode',null,function(stationCode) {
					
					if(stationCode>0 || stationCode==0) {
						
						callback && callback(stationCode+1);
						
					}
					
				});
				
			},
			
			findUpStationRouteCode : function(lineId,diraction,stationRouteCode,callback) {
				
				$get('/stationroute/findUpStationRouteCode',{lineId:lineId,direction:diraction,stationRouteCode:stationRouteCode},function(result) {
					
					callback && callback(result);
					
				});
				
			},
			
			// 原百度坐标转WGS坐标
			getFormPointEToWGS: function(points,callback) {
				
				// 获取长度
				var len = points.length;
				
				(function(){
					
					 if (!arguments.callee.count) {
						 
						 arguments.callee.count = 0;
						 
					 }
					 
					 arguments.callee.count++;
					 
					 var index = parseInt(arguments.callee.count) - 1;
					 
					 if (index >= len) {
						 
						 callback && callback(points);
			        	  
			              return;
			          }
					 
					 var f = arguments.callee;
					 
					 $.ajax({
						  
			              url: 'http://api.zdoz.net/bd2wgs.aspx',
			              
			              data: {lat: points[index].potion.lat , lng: points[index].potion.lng},
			              
			              dataType: 'jsonp',
			              
			              success: function(r){
			            	  
			            	  if(r) {
			            		  
			            		  points[index].WGSpotion = r;
			            		  
			            	  }
			            	  
			            	  f();
			              }
			          });
					
				})();
				
			},
			
			// 新增站点保存
			stationSave : function(station,callback) {
				
				$post('/station/stationSave',station,function(data) {
					
					callback && callback(data);
					
				});
				
			},
			
			// 站点更新
			stationUpdate : function(station,callback) {
				
				$post('/station/stationUpdate',station,function(data) {
					
					callback && callback(data);
					
				});
				
			},
			
			// 撤销站点
			stationRouteIsDestroy : function(stationRoute,callback) {
				
				$post('/stationroute/stationRouteIsDestroy',stationRoute,function(data) {
					
					callback && callback(data);
					
				})
				
			},
			
			// 编辑线路走向保存
			sectionUpdate:function(section,callback) {
				
				$post('/section/sectionUpdate',section,function(data) {
					
					callback && callback(data);
					
				})
				
			},
			
			// 获取线路名称
			getIdLineName : function (id,callback) {
				
				$get('/line/' + id ,null, function(result){
					
					callback && callback(result);
					
				});
				
			},
			
			// 折线百度坐标转WGS坐标
			BpolyGonArrayToWGS : function(polyGonArray,callback) {
				
				if(polyGonArray) {
					
					// 获取长度
					var len = polyGonArray.length;
					
					(function(){
						
						 if (!arguments.callee.count) {
							 
							 arguments.callee.count = 0;
							 
						 }
						 
						 arguments.callee.count++;
						 
						 var index = parseInt(arguments.callee.count) - 1;
						 
						 if (index >= len) {
							 
							 callback && callback(polyGonArray);
				        	  
				              return;
				          }
						 
						 var f = arguments.callee;
						 
						 $.ajax({
							  
				              url: 'http://api.zdoz.net/bd2wgs.aspx',
				              
				              data: {lat: polyGonArray[index].lat , lng: polyGonArray[index].lng},
				              
				              dataType: 'jsonp',
				              
				              success: function(r){
				            	  
				            	  if(r) {
				            		  
				            		  polyGonArray[index].WGSpotion = r;
				            		  
				            	  }
				            	  
				            	  f();
				              }
				          });
						
					})();
					
				}else {
					
					callback && callback(false);
					
				}
				
				
			},
			
			// 手动规划百度坐标转WGS坐标
			MuneBpointsArrayToWGS : function(polyGonArray,callback) {
				
				if(polyGonArray) {
					
					// 获取长度
					var len = polyGonArray.length;
					
					(function(){
						
						 if (!arguments.callee.count) {
							 
							 arguments.callee.count = 0;
							 
						 }
						 
						 arguments.callee.count++;
						 
						 var index = parseInt(arguments.callee.count) - 1;
						 
						 if (index >= len) {
							 
							 callback && callback(polyGonArray);
				        	  
				              return;
				          }
						 
						 var f = arguments.callee;
						 
						 $.ajax({
							  
							  // 百度坐标获取WGS坐标
				              url: 'http://api.zdoz.net/bd2wgs.aspx',
				              
				              data: {lat: polyGonArray[index].lat , lng: polyGonArray[index].lng},
				              
				              dataType: 'jsonp',
				              
				              success: function(r){
				            	  
				            	  if(r) {
				            		  
				            		  polyGonArray[index].WGSpotion = r;
				            		  
				            	  }
				            	  
				            	  f();
				              }
				          });
						
					})();
					
				}else {
					
					callback && callback('');
					
				}
				
				
			},
			
			// 查询路段信息
			getSectionRouteInfo : function(lineId,direction,callback) {
				
				$get('/sectionroute/findSection',{'line.id_eq' : lineId , 'directions_eq' : direction},function(resultdata) {
					
					callback && callback(resultdata);
							
				});
				
			},
			
			manualSave : function(params,callback) {
				
				// 保存
				$post('/station/manualSave',params,function(rd) {
					
					 return callback && callback(rd);
					
				});
				
			}
			
	}
	
	return ajaxData;
	
}();