station-positions-function.js 10.5 KB
/**
 * 函数
 */

var PositionsPublicFunctions = function () {
 
	var PubFun = {
			initStationInfo : function(id) {
				PositionsPublicFunctions.getStationRouteInfo(id,function(r) {
					StationPositionsWorldsBMap.clearMarkAndOverlays();
					var Station = r[0];
					PositionsStationObj.setAddStation(Station);
					var len = r.length;
					if(len>0) {
						var markTypeStr = '';
						if(r[0].stationRouteStationMark=='B') {
							markTypeStr='Starting station';
						}else if(r[0].stationRouteStationMark=='Z') {
							markTypeStr ='Intermediate station';
						}else if(r[0].stationRouteStationMark=='E') {
							markTypeStr='终点站';
						}
						var stationShapesType = r[0].stationShapesType;
						// 获取中心坐标点字符串分割
						var BJwpoints = r[0].stationJwpoints.split(' ');
						// 中心坐标点
						var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
						var htm = 	'<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+
									'<span style="color:#DDD;font-size: 15px;">Station name:' + r[0].zdmc + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Station code:' + r[0].stationCode + '</span>' +
                            		'<span class="help-block" style="color:#DDD;font-size: 15px;">Standard code:' + (r[0].industryCode == null ? "":r[0].industryCode) + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Station seq:' + r[0].stationRouteCode + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Station type:' + markTypeStr + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">WGS84 coordinates:' + r[0].stationJwpoints + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Time(previous to current):' + r[0].stationRouteToTime + '&nbsp;分钟</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Distance(previous to current):' + r[0].stationRouteDistances + '&nbsp;公里</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Radius:' + r[0].stationRadius + '</span>' +
									'<span class="help-block" style="color:#DDD;font-size: 15px;">Version&nbsp;&nbsp;:' + r[0].stationRouteVersions + '</span>' +
									'<span class="help-block"  style="width: 100%;font-size: 15px;;color:#DDD;'+ 
									'overflow: hidden; white-space: nowrap;  text-overflow: ellipsis; " title="'+ 
									r[0].stationRouteDescriptions +'" >Description:' + (r[0].stationRouteDescriptions == null ? "":r[0].stationRouteDescriptions) + '</span>' ;
						// 信息窗口参数属性
				  		var opts = {
									// 信息窗口宽度
									width : 200,
									// 信息窗口高度
									height : 450,
									// 信息窗位置偏移值。
									offset: new BMap.Size(500,80),
									//标题
									title : '<h4 style="color:#FFFFFF">'+r[0].zdmc+' details</h4>',
									//设置不允许信窗发送短息
									enableMessage : false,
									//是否开启点击地图关闭信息窗口
									enableCloseOnClick : false,
									// 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
									enableAutoPan:true
							};
						if(stationShapesType == 'r') {
							// 画圆
							StationPositionsWorldsBMap.pointsCircle(r,point,htm,opts);
						}else if(stationShapesType == 'd'){
							// 画多边形
							StationPositionsWorldsBMap.pointsPolygon(r,point,htm,opts);
						}
					}
				});
			},
			editSeteditStationParmasValue : function(points,gLonx,gLaty,bPolygonGridValue,gPolygonGridVlaue,shapesTypeValue,radiusValue) {
				// 百度地图经纬度坐标中心点
				stationObj[0].stationJwpoints = points;
				// WGS经度
				stationObj[0].stationGlonx = gLonx;
				//  WGS经度
				stationObj[0].stationGlaty = gLaty;
				// 百度坐标点图形集合 
				stationObj[0].stationGPloyonGrid = gPolygonGridVlaue;
				// WGS坐标点图形集合
				stationObj[0].stationBPolyonGrid = bPolygonGridValue;
				// 图形类型
				stationObj[0].stationShapesType = shapesTypeValue;
				// Circle radius
				stationObj[0].stationRadius = radiusValue;
			},
			// 原百度坐标转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();
			              }
			          });
				})();
			},
			setFormValue : function(stationObj) {
				// 站点ID
				$('#stationIdInput').val(stationObj.stationId);
				// 站点路由ID
				$('#stationRouteIdInput').val(stationObj.stationRouteId);
				// 站点路由线路Id
				$('#stationRouteLineInput').val(stationObj.stationRouteLine);
				// 线路编码
				$('#lineCodeInput').val(stationObj.stationRouteLIneCode);
				// 线路编码
				$('#industryCodeInput').val(stationObj.industryCode);
				// WGS坐标点图形集合
				$('#bPolygonGridInput').val(stationObj.stationBPolyonGrid);
				// 获取站点名称元素设值
				$('#zdmcInput').val(stationObj.zdmc);
				// 获取站点名称元素设值
				$('#stationRouteNameInput').val(stationObj.stationRouteName);
				// 获取站点编码元素设值
				$('#stationCodInput').val(stationObj.stationCode);
				// 获取站点类型元素设值
				$('#stationMarkSelect').val(stationObj.stationRouteStationMark);
				// 获取Direction元素设值
				$('#stationdirSelect').val(stationObj.stationRoutedirections);
				// 获取站点Road code元素设值
				$('#roadCodingCodInput').val(stationObj.stationRoadCoding);
				// 百度地图经纬度坐标中心点
				$('#bJwpointsInput').val(stationObj.stationJwpoints);
				// 获取图形类型元素,并添加值
				if(stationObj.stationShapesType=='r') {
					$('#shapesTypeSelect').val('Circle');
				}else if(stationObj.stationShapesType=='d'){
					$('#shapesTypeSelect').val('Polygon');
					$('#radiusGroup').hide();
				}
				/*$('#shapesTypeSelect').val(stationObj.stationShapesType);*/
				// 获取半径元素,并添加值
				$('#radiusInput').val(stationObj.stationRadius);
				// 是否撤销
				$('#destroySelect').val(stationObj.stationRouteDestroy);
				// Time(previous to current)
				$('#toTimeInput').val(stationObj.stationRouteToTime);
				// Distance(previous to current)
				$('#distancesInput').val(stationObj.stationRouteDistances);
				// 版本号
				$('#versionsInput').val(stationObj.stationRouteVersions);
				// Description
				$('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
			},
			setListEditFrom : function(stationObj) {
				// WGS坐标点图形集合
                var stationBPolyonGrid = null;
				if(stationObj.stationBPolyonGrid)
					stationBPolyonGrid = stationObj.stationBPolyonGrid.substring(9, stationObj.stationBPolyonGrid.length -2);
                $('#bPolygonGridInput').val(stationBPolyonGrid);
				// 百度地图经纬度坐标中心点
				$('#bJwpointsInput').val(stationObj.stationJwpoints);
				// 城建坐标x
				$('#xInput').val(stationObj.stationGlonx);
				// 城建坐标y
				$('#yInput').val(stationObj.stationGlony);
				// 获取图形类型元素,并添加值
				$('#shapesTypeSelect').val(stationObj.stationShapesType);
				// 获取半径元素,并添加值
				$('#radiusInput').val(stationObj.stationRadius);				
				// 线路ID
				$('#stationRouteLineInput').val(stationObj.stationRouteLine);
				// 站点编码
				$('#stationCodInput').val(stationObj.stationCode);
				// 线路编码
				$('#lineCodeInput').val(stationObj.stationRouteLIneCode);
				// 站点ID
				$('#StationCodeInput').val(stationObj.stationRouteStation);
				// 站点路由ID
				$('#stationRouteIdInput').val(stationObj.stationRouteId);
				// 站点名称
				$('#zdmcInput').val(stationObj.zdmc);
				// 站点路由Line name
				$('#stationNameInput').val(stationObj.stationRouteName);
				// 获取站点类型元素设值
				$('#stationMarkSelect').val(stationObj.stationRouteStationMark);
				// 获取Direction元素设值
				$('#stationdirSelect').val(stationObj.stationRoutedirections);
				// 获取站点Road code元素设值
				$('#roadCodingCodInput').val(stationObj.stationRoadCoding);
				// 是否撤销
				$('#destroySelect').val(stationObj.stationRouteDestroy);
				// Time(previous to current)
				$('#toTimeInput').val(stationObj.stationRouteToTime);
				// Distance(previous to current)
				$('#distancesInput').val(stationObj.stationRouteDistances);
				// 版本号
				$('#versionsInput').val(stationObj.stationRouteVersions);
				// Description
				$('#descriptionsTextarea').val(stationObj.stationRouteDescriptions);
				// Standard code
				$('#industryCodeInput').val(stationObj.industryCode);
			},
			// 获取站点路由.
			getzdlyInfo : function(params,callback) {
				$get('/stationroute/all',params,function(result) {
					callback && callback(result);
				});
			},
			// 方向代码转名称.
			dirdmToName : function(value){
				var srStr = '';
				if(value=='0')
					srStr = 'Up';
				else if(value=='1')
					srStr = 'Down';
				return srStr;
			},
			findUpStationRouteCode : function(lineId,diraction,stationRouteCode,callback) {
				$get('/stationroute/findUpStationRouteCode',{lineId:lineId,direction:diraction,stationRouteCode:stationRouteCode},function(result) {
					callback && callback(result);
				});
			},
			getStationRouteInfo : function(stationId,callback){
				$get('/stationroute/findStationRouteInfo',{id:stationId},function(r) {
					callback && callback(r);
				});
			},
			// 站点更新
			stationUpdate : function(station,callback) {
				$post('/station/stationUpdate',station,function(data) {
					callback && callback(data);
				});
			},
			getstationObjData : function(){
				return stationObj;
			},
			getStationIdValue : function() {
				return stationId;
			},
			setStationNameValue : function(editStationName) {
				stationObj[0].stationName = editStationName;
				return stationObj;
			},
			getPolygonObj : function() {
				return polygon;
			},
			getMarkerObj : function() {
				return marker;
			},
			getCircleObj : function() {
				return circle;
			}
	}
	return PubFun ;
}();