我正在尝试从连接到我的 Android 2.3 平板电脑的蓝牙 gps 设备获取数据。 目前,我可以使用 Android 蓝牙堆栈将其配对并从已创建的串行设备中读取。 现在我有很多来自 gps 的 NMEA 数据......我试图集成一小段 java 代码来解析这个字符串,但我想知道 Android 框架中是否已经有类似的东西.我只需要知道纬度/经度和罗盘方向。谢谢!
最佳答案
不确定是否存在任何内容,无论如何,如果您只是想要您可能只需要解析 RMC 句子的位置,请参阅 http://www.gpsinformation.org/dale/nmea.htm#RMC
一个简单的 Java 代码示例:
final String sentence = "$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A";
if (sentence.startsWith("$GPRMC")) {
String[] strValues = sentence.split(",");
double latitude = Double.parseDouble(strValues[3])*.01;
if (strValues[4].charAt(0) == 'S') {
latitude = -latitude;
}
double longitude = Double.parseDouble(strValues[5])*.01;
if (strValues[6].charAt(0) == 'W') {
longitude = -longitude;
}
double course = Double.parseDouble(strValues[8]);
System.out.println("latitude="+latitude+" ; longitude="+longitude+" ; course = "+course);
}
关于android - 在 Android 2.3 中解析 NMEA 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13508921/