public string GetGPS(string strGPS,string strFind)
{
///从GPS中读取的数据中,找出想要的数据
///GPSstring原始字符串,
///strFind要查找的内容,X:经度,Y:纬度,T:时间,V:速度,是数字从1开始,即以“,”分隔的位置
///返回查找到指定位置的字符串
string handerStr="$GPRMC";//GPS串头
int findHander=strGPS.IndexOf(handerStr);//看是否含有GPS串头
if (findHander<0)
{
return "-1";
}
else
{
strGPS=strGPS.Substring(findHander,strGPS.Length-findHander);
string[] ArryTmp=strGPS.Split(",".ToCharArray());
try
{
if(ArryTmp[2]=="V")
{
return "V";//没有信号
}
else
{
switch(strFind)
{
case "X":
return DM2DD(ArryTmp[5]);
case "Y":
return DM2DD(ArryTmp[3]);
case "T":
return T2Time(ArryTmp[9],ArryTmp[1]);
case "V":
return Convert.ToString(Convert.ToDouble(ArryTmp[7])* 1.852);
default:
return "V";
}
}
}
catch
{
return "V";
}
}
}
public string T2Time(string strDate,string strTime)
{
string dT="20"+strDate.Substring(4,2)+"-"+strDate.Substring(2,2)+"-"+strDate.Substring(0,2);
string TT=Convert.ToString(Convert.ToInt32(strTime.Substring(0,2)))+":"+strTime.Substring(2,2)+":"+strTime.Substring(4,2);
DateTime T=Convert.ToDateTime(dT+" "+TT);
T=T.AddHours(8);
return T.ToString();
}