NMEA消息到Android位置

Mat*_*uno 0 gps android location nmea

我正在使用外部GPS,因为它们更准确.我已经解决了蓝牙连接,但现在我陷入了大量的NMEA格式化消息.

看起来,因为你可以从内置的GPS堆栈中获取NMEA,所以必须有一种方法来获得给定NMEA消息的位置.

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

Bra*_*rad 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
Run Code Online (Sandbox Code Playgroud)
  • 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开发人员,因此我不知道您可以使用哪些内部类.