我正在使用外部GPS,因为它们更准确。我已经解决了蓝牙连接,但现在我陷入了大量的NMEA格式化消息。
似乎,因为你可以从内置的GPS堆栈中获取NMEA,所以必须有一种方法来获取给定NMEA消息的位置。
如何将我的NMEA消息转换为有用的位置对象?
答案 0 :(得分: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
感兴趣,{{3}}的卫星数据很长,位置稀释(修复质量)。
如果没有可用于解析NMEA的内部类,您可以使用这些示例轻松自行制作。不幸的是,我不是Android开发人员,因此我不知道您可以使用哪些内部类。