android 海拔高度_Android:如何获取准确的海拔高度?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:45   74   0

梵蒂冈之花

另一种方法是解析NMEA字符串。在$ GPGGA句话已经包含海拔修正高度数据。因此,只需为LocationManager创建NMEA字符串的侦听器并解析消息:private GpsStatus.NmeaListener mNmeaListener = new GpsStatus.NmeaListener() { @Override public void onNmeaReceived(long timestamp, String nmea) { parseNmeaString(nmea); }};public void registerLocationManager(Context context) { mLocationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE); mLocationManager.addNmeaListener(mNmeaListener);}private void parseNmeaString(String line) { if (line.startsWith("$")) { String[] tokens = line.split(","); String type = tokens[0]; // Parse altitude above sea level, Detailed description of NMEA string here http://aprs.gids.nl/nmea/#gga if (type.startsWith("$GPGGA")) { if (!tokens[9].isEmpty()) { mLastMslAltitude = Double.parseDouble(tokens[9]); } } } }您可以替换通过位置侦听器收到的最后一个位置对象的高度,也可以通过NMEA解析整个新位置。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP