在上个版本Qt Quick-QML地图引擎之v4版本(新增多模型切换/3D模型欧拉角模拟)_qt加载3d地图-CSDN博客更新了3D模拟功能,在4.3版本增加动态轨迹线、三个地图(海图/天地图街道/天地图卫星)。
4.3版本已经支持qt6 cmake版本,而4.3版本以下支持qt5版本!!!
1.动态轨迹线
在很多app和地图软件中导航的时候,我们都能看到一个动态轨迹线的影子,所以4.3版本中也加入该功能。
支持地图任意旋转和缩放适配,更换任意颜色,轨迹速度,轨迹样式!!!
截图如下所示:
动图如下所示:
核心代码如下所示:
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.海图/天地图街道/天地图卫星
海图如下所示:
天地图街道:
天地图卫星: