uniapp(全端兼容) - 最新详细实现腾讯地图轨迹回放功能,uniapp腾讯地图点击按钮播放地图绘制的轨迹,并自定义在轨道上行驶的汽车图片图标、汽车顶部文字信息、自定义轨道样式(详细示例运行代码)

本文详述了在uni-app中实现腾讯地图的轨迹回放功能,覆盖微信小程序、H5、安卓、iOS及支付宝小程序等多个平台。通过配置、HTML布局、数据绑定及主要逻辑代码,演示了如何在地图上绘制轨迹并让定制的小车图标沿着轨迹平滑移动,同时提供按钮控制播放、暂停等操作,适用于全平台兼容的应用场景。
摘要由CSDN通过智能技术生成

效果图(录屏有点模糊,实际很流畅)

在uniapp微信小程序/手机h5网页网站/安卓app/苹果app/支付宝小程序/nvue等(全平台完美兼容)开发中,实现uniApp各端都兼容的 “腾讯地图,车辆移动轨迹回放效果”,自定义移动物体、可在上方添加数据信息进行展示。通过点击开始播放按钮,小车开始按照地图上的轨迹进行移动,运行丝滑流畅。

uniapp Vue3和Vue2都能用,详细示例代码,一键复制运行后稍微改下就能用了!

在这里插入图片描述

配置工作

首先来配置下腾讯地图,

实现车辆轨迹回放,可以使用uniapp的map组件。以下是步骤: 1.引入map组件: 在页面的vue文件里,先引入map组件。如下: ``` <template> <view> <map :show-location="true" :markers="markers"></map> </view> </template> <script> import {uniMap} from '@dcloudio/uni-ui'; export default { components: { uniMap }, data(){ return { markers: [] } } } </script> ``` 2.设置地图样式: 在页面的style里,设置map组件的高度和宽度 ``` <style> map { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 999; } </style> ``` 3.加载地图: 在mounted钩子函数里调用uniMap的createMap方法,创建地图 ``` mounted(){ this.createMap(); }, methods: { createMap(){ let mapCtx = uniMap.createMapContext('myMap', { showLocation: true }) mapCtx.moveToLocation(); } } ``` 4.显示轨迹: 使用setMarkers方法,将要显示的轨迹点添加到地图上 ``` let markers = [ { id: 1, longitude: 113.324520, latitude: 23.10229, iconPath: '/static/img/car.png', width: 50, height: 50, callout: { content: '起点' } }, { id: 2, longitude: 113.35938, latitude: 23.09211, iconPath: '/static/img/car.png', width: 50, height: 50, callout: { content: '终点' } }, { id: 3, longitude: 113.331441, latitude: 23.117706, iconPath: '/static/img/car.png', width: 50, height: 50, callout: { content: '中间点' } } ] this.markers = markers; ``` 5.轨迹回放: 使用定时器和moveToLocation方法,按照轨迹点顺序将地图移动到对应的位置 ``` play(){ let mapCtx = uniMap.createMapContext('myMap', { showLocation: true }) let i = 0; let len = markers.length; let timer = setInterval(() => { if(i >= len - 1){ clearInterval(timer); return; } i++; mapCtx.moveToLocation({ longitude: markers[i].longitude, latitude: markers[i].latitude }) }, 1000) } ``` 以上就是实现车辆轨迹回放的步骤。需要注意的是,地图的显示需要设置高度和宽度,因为地图是一个fixed定位的元素。另外,回放轨迹时需要使用定时器来控制地图移动的速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街尾杂货店&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值