【发布时间】:2011-11-29 03:30:31
【问题描述】:
我正在使用外部 GPS,因为它们要准确得多。我已经解决了蓝牙连接问题,但现在我陷入了大量 NMEA 格式的消息。
看起来,既然您可以从内置 GPS 堆栈中获取 NMEA,那么必须有一种方法可以在给定 NMEA 消息的情况下获取位置。
如何将我的 NMEA 消息转换为有用的 Location 对象?
【问题讨论】:
我正在使用外部 GPS,因为它们要准确得多。我已经解决了蓝牙连接问题,但现在我陷入了大量 NMEA 格式的消息。
看起来,既然您可以从内置 GPS 堆栈中获取 NMEA,那么必须有一种方法可以在给定 NMEA 消息的情况下获取位置。
如何将我的 NMEA 消息转换为有用的 Location 对象?
【问题讨论】:
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 开发人员,所以我不知道你可以使用哪些内部类。
【讨论】: