最近在做一个PDA的项目,用ArcGIS Mobile做开发,需要GPS的实时定位,通过ArcGIS Mobile 提供的serialPortGpsConnection控件连接GPS设备(PDA型号为:LT400)连接代码如下:
 
      //初始化    
      serialPortGpsConnection1.BaudRate = GpsBaudRate.BaudRate9600;
      serialPortGpsConnection1.PortName = "COM3"; 
      serialPortGpsConnection1.Open();
      GpsConn = serialPortGpsConnection1;在time的tick事件中去采集坐标点:private void timer1_Tick(object sender, EventArgs e)
    {
         //保存的GPS经纬度坐标的TXT文件路径
        CoordNatePath=@"\Storage Card\GPS.txt";        //判断坐标是否有效
        if (GpsConn.Longitude.ToString() == "非数字" || GpsConn.Latitude.ToString() == "非数字") return;
        
        //lat,lon为list类型,分别存储纬度和经度坐标
        lat.Add(GpsConn.Latitude);
        lon.Add(GpsConn.Longitude);
        
        //每采集10个点,就保存一次
        if (lat.Count > 10) 
        {
             //保存点
            WriteCoordinateTxt(lat,lon,CoordNatePath);
            
             //清空LIST
            lat.Clear();
            lon.Clear();
        }
可是我连接到设备的时候,运行到:    if (GpsConn.Longitude.ToString() == "非数字" || GpsConn.Latitude.ToString() == "非数字") return;
就return掉了,获取到的GpsConn.longtitude,GpsConn.Latitude值都为NaN,空值,百思不得其解,还请大家解惑!