0

我正在使用外部 GPS,因为它们要准确得多。我已经解决了蓝牙连接问题,但现在我陷入了 NMEA 格式消息的洪流中。

看起来,由于您可以从内置 GPS 堆栈中获取 NMEA,因此必须有一种方法可以在给定 NMEA 消息的情况下获取位置。

如何将我的 NMEA 消息转换为有用的 Location 对象?

4

1 回答 1

8

NMEA 很容易解析。对于不同的事物,有不同类型的句子。对于位置数据,你需要关心的一句话是“推荐最小值”,$GPRMC.

此处的示例:http: //aprs.gids.nl/nmea/#rmc

$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68
  • 225446 (修正时间 22:54:46 UTC)
  • A (导航接收器警告 A = OK,V = 警告)
  • 4916.45,N (北纬 49 度 16.45 分)
  • 12311.12,W (东经 123 度 11.12 分西)
  • 000.5 (对地速度,节)
  • 054.7 (课程做得很好,真实)
  • 191194 (修正日期 1994 年 11 月 19 日)
  • 020.3,E (磁差 20.3 度东)
  • *68 (强制校验和)

您可能还对 有兴趣$GPGSA,它的卫星数据很长,位置稀释(修复质量)。

如果没有可用于解析 NMEA 的内部类,您可以使用这些示例轻松地自己制作一个。不幸的是,我不是 Android 开发人员,所以我不知道您可以使用哪些内部类。

于 2011-11-29T14:24:22.437 回答