我们在开发无人机(或无人车)的过程时,往往需要用到地图显示无人机的实时轨迹,或是创建航点给无人机指定飞行地点。使用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文章来源:https://www.toymoban.com/news/detail-698627.html
更具体的功能大家可以参照代码学习,喜欢的就给个赞吧!文章来源地址https://www.toymoban.com/news/detail-698627.html
到了这里,关于Qt地图(无人机、无人车使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!