如何在PDA上获取经纬度信息?
PDA型号:多普达 P800
PDA OS:WM5.0
最好能给出vb.net的demo,谢谢
[解决办法]
这个其实很简单,就是接收端口的信息,然后根据NMEA码的规范,来解析相应信息。NMEA码规范你可以从网上下载,搜索一下就能找到。
[解决办法]
1) VS.NET里面有标准的串口读写控件
2)NMEA协议:
调用方法如下:
public string GetGPS(string strGPS, string strFind)
{
///从GPS中读取的数据中,找出想要的数据
///GPSstring原始字符串,
///strFind要查找的内容,X:经度,Y:纬度,T:时间,V:速度,是数字从1开始,即以“,”分隔的位置
///返回查找到指定位置的字符串
/// GPS String Sample: $GPRMC,174435.988,A,3957.6501,N,11618.3340,E,1.67,338.87,260207,,*0D ";
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 ";
}
}
}