function.js 5.06 KB
var PublicFunctions = function () {
	
	var PubFun = {
			
			/** 获取所有线路 */
			getLineAllInfo : function(cb) {
				
				/** get请求获取所有线路 */
				$get('/line/all', null, function(array){return cb && cb(array);});
				
			},
			
			/** 获取线路走向百度坐标 */
			getSectionRouteInfo : function(lineId,direction,callback) {
				
				$get('/sectionroute/findSection',{'line.id_eq' : lineId , 'directions_eq' : direction},function(resultdata) {
					
					callback && callback(resultdata);
							
				});
				
			},
			
			getSectionSpeedInfoList : function(params,lineName){
				
				$get('/sectionspeed/getSectionSpeedInfoList',params,function(rs) {
					
					$('#vehicle').show();
					
		    		var resultHtml = template('vehicle_panel_collapse_temp', {list: rs,lineName:lineName,lineId:params.lineId,dirc:params.directions,lineCode:params.lineCode});
		    		
		    		$('#vehicle').html(resultHtml);
		    		
				});
				
			},
			
			getAnalyticSection : function(lineId,direction,argus,lineCode,callback) {
				$get('/sectionspeed/analyticSection',{'line.id_eq' : lineId , 'directions_eq' : direction,'argus':argus,'lineCode':lineCode},function(resultdata) {
					
					callback && callback(resultdata);
							
				});
				
			},
			
			// 查询线路某方向下所有站点的中心百度坐标
			getStationRoutePoint : function(id_,dir_,callback) {
				
				$get('/stationroute/getStationRouteCenterPoints',{lineId:id_,direction:dir_},function(result) {
					
					callback && callback(result);
					
				});
						
			},
			
			/** 在地图上画出线路走向  @param:<Line.id:线路Id;0:上行;data:上行路段数据> */ 
			linePanlThree : function(lineId,data,direction) {
				
				/** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */
				PublicFunctions.getStationRoutePoint(lineId,direction,function(resultdata) {
					
					SectionSpeedVmapWorlds.clearMarkAndOverlays();
					
					// 路段数据长度
					var dataLen = data.length;
					
					// 如果大于零
					if(dataLen>0) {
						
						// 地图折线坐标点集合
						var polylineArray = [];
						
						// 编辑路段数据
						for(var d= 0; d<dataLen;d++){
							
							// 获取路段折线坐标字符串
							var sectionBsectionVectorStr = data[d].sectionBsectionVector;
							
							if(sectionBsectionVectorStr==null) {
								
								continue;
								
							}
							
							// 切割段折线坐标字符串
							var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);
							
							// 分割折线坐标字符串
							var lineArray = tempStr.split(',');
							
							for(var i = 0;i<lineArray.length;i++) {
								
								polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
								
							}
							
						}
						
						/** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */
						SectionSpeedVmapWorlds.drawingUpline(polylineArray,resultdata);
						
						// 如果站点路由数据不为空
						if(resultdata.length>0) {
				  			
							// 遍历站点路由数据
				  			for(var s = 0 ; s<resultdata.length;s++) {
				  				
				  				// 中心点坐标字符串
				  				var bJwpointsStr = resultdata[s].bJwpoints;
				  				var stationName = resultdata[s].stationRouteName;
				  				
				  				// 起个中心点坐标字符串
				  				var bJwpointsArray = bJwpointsStr.split(' ');
				  				
				  				// 设置中心点
				  				var point_center = new BMap.Point(bJwpointsArray[0],bJwpointsArray[1]);
				  				
				  				/** 在地图上画点 @param:<point_center:中心坐标点> */
				  				SectionSpeedVmapWorlds.drawingUpStationPoint(point_center,stationName,s+1);
				  				
				  			}
				  			
				  		}
						
					}
					
				});
				
			},
			
			analyticSection : function(dataLen) {
				
				// 编辑路段数据
				for(var d= 0; d<dataLen.length;d++){
					
					// 地图折线坐标点集合
					var polylineArray = [];
					
					// 获取路段折线坐标字符串
					var sectionBsectionVectorStr = dataLen[d].linestring;
					
					if(sectionBsectionVectorStr==null) {
						
						continue;
						
					}
					
					// 切割段折线坐标字符串
					var tempStr = sectionBsectionVectorStr.substring(sectionBsectionVectorStr.indexOf("(")+1,sectionBsectionVectorStr.length-1);
					
					// 分割折线坐标字符串
					var lineArray = tempStr.split(',');
					
					for(var i = 0;i<lineArray.length;i++) {
						
						polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
						
					}
					
					/** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */
					SectionSpeedVmapWorlds.drawingSecitons(polylineArray);
					
				}
				
			}
			
	}
	
	return PubFun ;
	
}();