4
我試圖從連接到我的Android 2.3平板電腦的藍牙GPS設備獲取數據。 目前,我可以使用Android藍牙堆棧將其配對,並從已創建的串行設備讀取。 現在我有很多來自gps的NMEA數據......我試圖集成一小段java代碼來解析這些字符串,但我想知道是否有類似的東西在Android中可用框架。我只需要知道經度和緯度方向。謝謝!解析Android 2.3中的NMEA數據
我試圖從連接到我的Android 2.3平板電腦的藍牙GPS設備獲取數據。 目前,我可以使用Android藍牙堆棧將其配對,並從已創建的串行設備讀取。 現在我有很多來自gps的NMEA數據......我試圖集成一小段java代碼來解析這些字符串,但我想知道是否有類似的東西在Android中可用框架。我只需要知道經度和緯度方向。謝謝!解析Android 2.3中的NMEA數據
不知道什麼存在,在任何情況下,如果你只是想你可能只需要解析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中實現。否則我會走這條路。謝謝。 – mrAlmond
您可能已經嘗試過[Java Marine](http://marineapi.sourceforge.net/)。我不知道它是否足夠成熟;該項目似乎並不十分活躍。 –
不,我沒有嘗試過,但值得一看。感謝您的建議。 – mrAlmond