小弟从网上下载了个PDA中使用GPS定位,获得经度、维度的示例,但运行时position.LatitudeValid、position.LongitudeValid总是为false,小弟对这方面一无所知,请各位不吝赐教,谢谢using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.Samples.Location;namespace GPSID
{
    public partial class Form1 : Form
    {
        private Gps gps;         public Form1()
        {
            InitializeComponent();
            gps = new Gps();            gps.Open(); 
        }        private void menuExit_Click(object sender, EventArgs e)    
   
        {    
   
                gps.Close();    
   
                Close();    
   
        }    
   
   
   
        private void menuLocation_Click(object sender, EventArgs e)    
   
        {    
   
                GpsPosition position = gps.GetPosition();    
   
                //LatLong location = new LatLong();                    StringBuilder sb = new StringBuilder();                sb.AppendLine();
                if (position.LatitudeValid) 
                {
                    //location.Latitude = position.Latitude;                    sb.Append("Latitude = ");                    sb.AppendLine(position.Latitude.ToString());
                }                if (position.LongitudeValid) 
                {
                    //location.Longitude = position.Longitude;                      sb.Append("Longitude = ");                    sb.AppendLine(position.Longitude.ToString());
                }                if (position.HeadingValid) 
                {
                    //location.Heading = position.Heading;                      sb.Append("Heading = ");                    sb.AppendLine(position.Heading.ToString());
                }   
                label1.Text = sb.ToString();    
   
        }         }
}

解决方案 »

  1.   

     有的芯片要主动请求数据,如何发送命令,详见gps板卡开发文档。
      

  2.   

    是不是要模拟器那设置啊,想J2ME那样可以在模拟器设置经纬度和高度的
      

  3.   

    PDA的GPS数据一般通过串口接收,设置好端口号与波特率,收取就行。然后再分析数据即可得相关信息。
      

  4.   


    我在网上查资料是通过GPS Intermediate Driver中间驱动层来实现信息传输,那就是不是不管串口的问题了
      

  5.   

    微软自带的sdk的例子 是可以运行的,你可以下个其他软件 如 google map 看看gps能否显示,来确定,是你配置的问题,还是其他问题,还有gps要在开阔的地方才能收到的,办公室肯定不行,我开始的时候 测试就是在写字楼 楼下测试的
      

  6.   

    ....
    算了,给你指个正确方向,你有2个方向可以选择,微软的GpsApi或是自己查询分析NMEA协议,只要分析几条就可以了GGA,RMC,GSV,GST,GSV,ZDA。
      

  7.   

    我不是自己写的通过串口解析信号的,我用的就是微软的那个GPSID,但是出现上诉的问题,昨天下午不知道怎么被我搞好了,能获取到经纬度了,今天又不行了
      

  8.   

    你先下载个叫做GPSViewer的软件看看能不能搜索到卫星,如果搜不到星,就可能是你的硬件问题,也可能是你的位置收不到星。排除了这问题,估计就是你的端口和波特率没有设置正确了,我在你的代码中没有看到这样的设置,或者中间件的技术真的不需要设置,我没有做过,所以不是很清楚你的方式,我一直都是自己通过自己读取串口数据自己解析的。