Qt GPS定位

基于Qt的车载GPS监控系统(6)GPS信息处理_vopo123的博客-CSDN博客

QT开发框架下调用百度地图实现导航定位_qt地图导航_拿到金像奖上课那家店的博客-CSDN博客

Qt/C++编写安防视频监控系统30-GPS运动轨迹_qt gps路径跟踪算法_feiyangqingyun的博客-CSDN博客

GPS定位导航与地图显示_qt gps 地图_在路上@Amos的博客-CSDN博客

Qt 加载地图 

Qt开发北斗定位系统融合百度地图API及Qt程序打包发布  

 这个比较详细,可以参考

Qt跨平台,同一套代码可以在Win、Linux、MacOS运行

可以在Win上装MacOS虚拟机

【Web】百度瓦片地图下载器+离线地图             使用工具下载离线地图

参考以下几篇

QT调用百度地图API并根据经纬度在地图上标点以及GPS转百度地图坐标

Qt加载百度离线地图

QT之调用百度地图离线API

Qt编写安防视频监控系统30-GPS运动轨迹

看了一下,导航算法有的是调用百度API,可以规划出各种路径。不过这样没啥意义,做研究还是自己规划才行。

可以参考下面这两篇,好像可以利用GIS来生成信息更全面的地图。

GPS导航(2):电子地图生成

GPS导航(8):最短路径算法

GPS数据解析

暂时到的微雪的GNSS模块串口得到的还是原始数据,还得解析一下,有点麻烦。

GPS模块运用: GPS轨迹记录         这里面有解析的程序,直接用Qt写的。这样看来,可以直接先用Qt接收GPS信息与地图加载。

GPS数据包格式+数据解析

GPS-NMEA解析代码     GPS设备的NMEA语句是逐条发送的,每条语句都是以0x0D和0x0A来结束的。

串口+GPS定位软件 C#上位机代码解读(一)        这个里面写得如何解析原始数据,比较详细。调用nmealib库解析GPS原始数据

gps两种解码的方式         这里分别介绍2中解析协议的方法,第一种就是自己写解析协议函数,第二种便是采用别人写好的GPS解析协议库:NMEALIB库

NMEA Library           nmealib库官网 

GPS nmealib学习笔记       

感觉看这个库也不想看了,GitHub上一搜也有好多。一搜发现ros也有库

要点初见:通过ROS包nmea_navsat_driver读取GPS、北斗定位信息(C/C++)

硬件方面连接好后,把天线扔出室外    好吧,看来直接把天线扔出去就行了。

GPS模块(GPS-NEO-6M)

看来GPS还是个低频传感器,民用的输出频率好像也就5Hz左右。 


最近在使用要使用GPS定位,需要调用地图显示出位置信息,刚上手时非常的无奈,因为不知从哪下手。
看过一些文章之后慢慢的对此也有一点的而了解,就向着把这些东西记录下来,以便下次不会有人那么举手无措。
先说版本号吧,Qt使用的版本是5.3.1,比较之前的Qt4.x确实有小许变化,至于变化的内容可以参见 官网给出的说明(http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5).
接下来说些百度地图的api,实际上我看到提供地图API的还有很多,必须 腾讯地图, 高德地图,google map等等 提供商家不一样,但是答题思路是相同的。网上对于google地图的调用比较多,大家可以参考。
百度地图api的内容网站对此介绍的比较全面。首先可以借组百度提供的 地图快速生成器来快速生成基本的地图。生成方法就是吧他给出的代码放到TXT文件下,然后把扩展名改成html即可。当然生成的地图是最基本的地图,你也可以根据 百度提供的案例在此地图上添加你所需要的控件或者其他的任何东西。这时你可以参考 google map api快速入门和 百度api最佳实践。
上面的闲话说的有点多。一切就绪,现在开始gps定位。Qt只需读出GPS的给出的信号,直接在web上显示即可。这里需要用到Qt的webView进行显示、
数据交互的格式可以参考 百度给出的借口说明。标记函数可写作。

QUrl   map::GPSMark(const QString &GPSCoordinate)
{

QUrl temp;
QString ret;
HttpClient * http = new HttpClient();
QUrl url;
url.setUrl("http://api.map.baidu.com/marker");
QUrlQuery urlQuery;
urlQuery.addQueryItem("location", GPSCoordinate);
urlQuery.addQueryItem("title", tr("my GPS location"));   //标点的标题
urlQuery.addQueryItem("content", tr("current location"));       //标点的内容
urlQuery.addQueryItem("output", "html");
//urlQuery.addQueryItem("coord_type", "bd09");
urlQuery.addQueryItem("src", "map");
    url.setQuery(urlQuery);
//http://map.baidu.com/?latlng=40.047669,116.313082&title=my gps loclation
//url = QUrl("http://map.baidu.com/?latlng=40.047669,116.313082&title=我的位置&content=百度奎科大厦&autoOpen=true&l");
//webview->load(url);
//webview->show();

setWindowTitle(url.toString());
return temp;
}

参数即为gps获取的经纬度信息,当然这里默认的经纬度为百度经纬度,可以根据百度提供的函数进行坐标经纬度的互换。
最后给出测试图

————————————————
版权声明:本文为CSDN博主「bigPillow」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/woshidahuaidan2011/article/details/47100685

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值