我很困惑,因为我知道我的GPS设备状态和服务状态都是ON,但是View中的卫星和纬度/经度都是空白的。我已将程序配置为使用端口GPD1
,而我的硬件使用COM7
。这似乎是正确的配置。为什么我没有得到任何回报?
答案 0 :(得分:1)
纬度和经度仅在存在修正(有效地理位置)时填充:
// call native method passing in our native buffer
int result = GPSGetPosition(gpsHandle, ptr, 500000, 0);
if (result == 0)
{
// native call succeeded, marshal native data to our managed data
gpsPosition = (GpsPosition)Marshal.PtrToStructure(ptr, typeof(GpsPosition));
if (maxAge != TimeSpan.Zero)
{
// check to see if the data is recent enough.
if (!gpsPosition.TimeValid || DateTime.Now - maxAge > gpsPosition.Time)
{
gpsPosition = null;
}
}
}
对于修复(有效位置),GPS至少需要三颗有效卫星。
查看我的GPSsample我与您的其他问题相关联。它将显示有关GPS信号发生情况的更多背景信息。
提示:如果没有备用EE数据源并且GPS模块没有移动太多,则首次定位时间(TTFF)可以持续长达15-20分钟并且可以自由观看天空。 EE数据是由卫星广播构建的,数据速率非常低。 EE数据也可以通过互联网数据连接提供,但用途取决于所使用的GPS模块。该EE数据指定了两周内所有GPS卫星的实际位置。 如果GPS接收器关闭并移动〜200km,则必须从基地计算位置(可能是另外15分钟)。
实际上,目前的GPS接收器提供备用的“馈送”功能。用于EE数据,例如GPSeXtra(互联网数据)或MS辅助GPS(手机信号塔ID和位置)。