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

海图如下所示:

天地图街道:

天地图卫星:

相关推荐
小成2023032026533 分钟前
C++~02运算符重载
开发语言·c++
emfuture43 分钟前
龙芯2K300 PLC 在拉丝机收线系统改造中的应用:硬件选型、张力控制与国产化替代实践
java·开发语言·智能制造·plc·国产化替代
geovindu1 小时前
rust: Mediator Pattern
开发语言·后端·设计模式·rust·中介者模式·行为模式
传奇开心果编程1 小时前
【Rust入门练中学】第8课:错误处理
开发语言·rust·错误处理·编程语言理论·通用编程语言
郑同学的笔记1 小时前
【c++随笔30】C++ 注册回调函数
开发语言·c++
七夜zippoe2 小时前
启元 Q1 腿部运动学逆解:Python 算站立下蹲关节角
开发语言·python·ai·机器人·腿部运动学
熊猫钓鱼>_>2 小时前
精准碰一碰近场分享与拖拽投送实战:把文件“碰“进另一台设备【鸿蒙心迹】
开发语言·华为·harmonyos·鸿蒙·openharmony
CodeGL2 小时前
9、Python基础之IO编程
开发语言·数据库·python
曹牧3 小时前
SVN:失联项目
开发语言
传奇开心果编程3 小时前
【Rust入门练中学】第9课:集合类型
开发语言·rust·编程语言理论·集合类型·通用编程语言