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.海图/天地图街道/天地图卫星

海图如下所示:

天地图街道:

天地图卫星:

相关推荐
古城小栈43 分钟前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
YxVoyager1 小时前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
jarreyer1 小时前
数据项目分析标准化流程
开发语言·python·机器学习
你怎么知道我是队长1 小时前
C语言---printf函数使用详细说明
c语言·开发语言
qq_401700411 小时前
QStackedLayout 实现遮罩层
qt
liulilittle1 小时前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
陈小桔1 小时前
logging模块-python
开发语言·python
消失的旧时光-19431 小时前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
!停1 小时前
C语言栈和队列的实现
开发语言·数据结构
源代码•宸1 小时前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker