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系统,其它系统未测试过,理论上桌面系统都通用。

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

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

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

        更具体的功能大家可以参照代码学习,喜欢的就给个赞吧!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部