GPS 中间驱动程序不断 Return 0 0 LAT LNG
GPS Intermediate Driver Constantly Return 0 0 LAT LNG
我很困惑,因为我知道我的 GPS 设备状态和服务状态都已开启,但卫星视图和 Latitude/Longitude 都是空白。我已将我的程序配置为使用端口 GPD1
,我的硬件使用 COM7
。这似乎是正确的配置。为什么我没有得到任何回报?
纬度和经度仅在存在固定(有效的地理位置)时才填充:
// 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 接收器并移动约 200 公里,则必须从基地计算位置(可能还需要 15 分钟)。
实际上,当前的 GPS 接收器为 EE 数据提供备用 'feeds',例如 GPSeXtra(互联网数据)或 MS 辅助 GPS(小区 phone 塔 ID 和位置)。
我很困惑,因为我知道我的 GPS 设备状态和服务状态都已开启,但卫星视图和 Latitude/Longitude 都是空白。我已将我的程序配置为使用端口 GPD1
,我的硬件使用 COM7
。这似乎是正确的配置。为什么我没有得到任何回报?
纬度和经度仅在存在固定(有效的地理位置)时才填充:
// 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 接收器并移动约 200 公里,则必须从基地计算位置(可能还需要 15 分钟)。
实际上,当前的 GPS 接收器为 EE 数据提供备用 'feeds',例如 GPSeXtra(互联网数据)或 MS 辅助 GPS(小区 phone 塔 ID 和位置)。