Qt地图(无人机、无人车使用)

这篇具有很好参考价值的文章主要介绍了Qt地图(无人机、无人车使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        我们在开发无人机(或无人车)的过程时,往往需要用到地图显示无人机的实时轨迹,或是创建航点给无人机指定飞行地点。使用Qt加载地图并不是件容易的事,需要专业的地图相关的知识,如地图切片、网络加载、数据库缓存等,而我们开发无人机项目,并不想花大精力研究地图,而是想直接使用地图开发无人机相关的功能,方便无人机的开发。好在网络上有人分享了一个从OpenPilot地面站移植来的地图代码,是使用Qt编写的,专为无人机设计,功能非常强大。

        在该地图中,能够实现多种地图类型的切换、增加删除无人机、绘制无人机飞行轨迹、创建/删除航点、创建/删除圆等,更具体地还可以改变无人机图表、航点航线的种类/颜色/线粗、无人机空速/地速设置、无人机航向、无人机信息等细节,必要是自己修改代码实现自己想要的功能。在该地图中,像Google地图、Google中国地图在国内网络都访问不了,好在bing地图可以正常访问,加载速度还可以,足以满足无人机的学习研究使用。

        对于该代码的版权与使用说明,代码注释中写得很清楚了,这里复制下来给大家看下:

/**
 ******************************************************************************
 *
 * @file       pointlatlng.h
 * @author     The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
 * @brief
 * @see        The GNU Public License (GPL) Version 3
 * @defgroup   OPMapWidget
 * @{
 *
 *****************************************************************************/
/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
 * for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

        我在该代码的基础上,实现了一些功能,如实时显示鼠标位置经纬度、地图缩放等级、鼠标双击创建航点、删除航点、改变航点坐标、切换地图类型、模拟飞行演示,开发所使用环境如下:

        ① Qt 5.14.1(包含对应的Qt Creator);Qt5的其它版本理论上都支持;

        ②  windows系统,其它系统未测试过,理论上桌面系统都通用。

        下面展示地图界面与使用效果:

qt 地图,无人机,qt,c++

qt 地图,无人机,qt,c++

qt 地图,无人机,qt,c++

qt 地图,无人机,qt,c++

qt 地图,无人机,qt,c++

        在windows系统中,使用windeployqt命令打包程序时,可能有些库打包不全,需要手动添加。比如说,在地图运行过程中,不能够缓存地图,可能是sql的动态链接库没有找到,或者在程序编译后运行,Qt Creator的应用输出出现警告信息QSqlDatabase: QSQLITE driver not loaded,也是找不到sql的动态链接库的问题,解决方法是在Qt安装路径下找到sqldrivers文件夹,复制到我们生成的exe应用程序的文件夹中,地图缓存功能即可正常使用。

        代码我上传到CSDN资源中,地址:https://download.csdn.net/download/weixin_47488212/87750246

        更具体的功能大家可以参照代码学习,喜欢的就给个赞吧!文章来源地址https://www.toymoban.com/news/detail-698627.html

到了这里,关于Qt地图(无人机、无人车使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包