QT Android GPS Location

一、开发环境介绍

1、QT 5.11 Android for armeabi-v7a(GCC 4.9, Qt 5.11.1 for Android armv7)
2、ndk android-ndk-r17c
3、手机 小米4C

二、 GPS传感器信息读取

  • pro文件添加
QT       += positioning
  • 头文件添加
#include <QGeoPositionInfoSource>
#include <QGeoCoordinate>
  • 声明GPSInfo类
class GPSInfo : public QObject
{
    Q_OBJECT
public:
    double nowGroundSpeed=0.0;
    double nowVerticalSpeed=0.0;
    double nowMagneticVariation=0.0;
    double nowHorizontalAccuracy=0.0;
    double nowVerticalAccuracy=0.0;
    double nowLongitude=0.0;
    double nowLatitude=0.0;
    double nowDirection=0.0;
    QString nowTimes="";
public:
    GPSInfo(QObject *parent = 0)
        : QObject(parent)
    {
        QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(this);
        if (source) {
            connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
                    this, SLOT(positionUpdated(QGeoPositionInfo)));
            source->setUpdateInterval(200);//设置刷新时间 单位毫秒
            source->startUpdates();//启动设备
        }
    }

private slots://槽函数中实现了GPS部分信息的读取
    void positionUpdated(const QGeoPositionInfo &info)
    {
        nowLongitude = info.coordinate().longitude();//经度
        nowLatitude = info.coordinate().latitude();//纬度
        nowDirection = info.attribute(QGeoPositionInfo::Direction);
        nowGroundSpeed = info.attribute(QGeoPositionInfo::GroundSpeed);
        nowVerticalSpeed = info.attribute(QGeoPositionInfo::VerticalSpeed);
        nowMagneticVariation = info.attribute(QGeoPositionInfo::MagneticVariation);
        nowHorizontalAccuracy = info.attribute(QGeoPositionInfo::HorizontalAccuracy);
        nowVerticalAccuracy = info.attribute(QGeoPositionInfo::VerticalAccuracy);
        nowTimes = info.timestamp().toString();
    }
};

三、工程运行截图

在这里插入图片描述

四、完整工程文件

注:

  • 此工程仅在小米4C上实测运行,其他Android手机未进行尝试。不敢保证所有Android手机均可运行,下载前请留意;
  • 工程中使用UDP向外部发送数据,关于UDP部分,在此未进行介绍;
  • 注GPS授时时间为伦敦时区时间,本工程未进行转换;

完整工程文件下载地址
https://download.csdn.net/download/alexbein/10761271

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值