3.Qt Quick-QML地图引擎之v4.3版本(新增动态轨迹线/海图/天地图街道/天地图卫星)

在上个版本Qt Quick-QML地图引擎之v4版本(新增多模型切换/3D模型欧拉角模拟)_qt加载3d地图-CSDN博客更新了3D模拟功能,在4.3版本增加动态轨迹线、三个地图(海图/天地图街道/天地图卫星)。

4.3版本已经支持qt6 cmake版本,而4.3版本以下支持qt5版本!!!

1.动态轨迹线

在很多app和地图软件中导航的时候,我们都能看到一个动态轨迹线的影子,所以4.3版本中也加入该功能。

支持地图任意旋转和缩放适配,更换任意颜色,轨迹速度,轨迹样式!!!

截图如下所示:

动图如下所示:

核心代码如下所示:

cpp 复制代码
   function  drawLineArrow(ctx, i, increase, interval = 30) {
            let arc = Math.atan2(ptLines[i+1].y - ptLines[i].y, ptLines[i+1].x - ptLines[i].x)
            let xdist = Math.abs(ptLines[i+1].x - ptLines[i].x);
            let dist = Math.sqrt(Math.pow(ptLines[i+1].y - ptLines[i].y,2) + Math.pow(ptLines[i+1].x - ptLines[i].x,2))

            let j = increase;
            for(; j < dist; j+=interval+7) {

                let px = ptLines[i].x + Math.cos(arc)* j;// Math.round(ptLines[i].x + Math.cos(arc)* j);
                let py = ptLines[i].y +   Math.sin(arc) * j ;//Math.round(ptLines[i].y +   Math.sin(arc) * j);

                ctx.save();
                ctx.translate(px, py);
                ctx.rotate(arc);
                ctx.drawImage(canvasLineArrow.lineArrow, -3, -3);
                ctx.restore();
            }
            return j-dist;
        }

2.海图/天地图街道/天地图卫星

海图如下所示:

天地图街道:

天地图卫星:

相关推荐
molunnnn4 小时前
第四章 Agent的几种经典范式
开发语言·python
洛_尘5 小时前
JAVA EE初阶 2: 多线程-初阶
java·开发语言
@卞5 小时前
C语言常见概念
c语言·开发语言
wjs20246 小时前
Eclipse 关闭项目详解
开发语言
沐知全栈开发6 小时前
《隐藏(Hide)》
开发语言
lkbhua莱克瓦246 小时前
Java基础——方法
java·开发语言·笔记·github·学习方法
catchadmin6 小时前
PHP 依赖管理器 Composer 2.9 发布
开发语言·php·composer
范纹杉想快点毕业7 小时前
《嵌入式开发硬核指南:91问一次讲透底层到架构》
java·开发语言·数据库·单片机·嵌入式硬件·mongodb
毕设源码-邱学长7 小时前
【开题答辩全过程】以 基于Python的Bilibili平台数据分析与可视化实现为例,包含答辩的问题和答案
开发语言·python·数据分析