mapboxGL学习——多段线路marker运动动画轨迹。途径点暂停并弹出相关信息

该文章介绍了如何处理后台返回的多段路径数据,特别是在地图上实现路径动画时,当到达途经点时如何设置停留效果。通过JavaScript的setTimeout函数控制停留时间,并在特定点添加marker进行展示。最后,当所有路径遍历完成后,动画会重新开始。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要逻辑和主要方法都和https://mp.youkuaiyun.com/mp_blog/creation/editor/129506864一样.

最终效果

 

这里需要注意的是,后台返回的数据,有n个途经点 就有n+1段路径。 每一段路径的终点就是途经点,或者说 每一段的起点也是途经点(除了起点之外)。

也需要手动将每一段的终点(或者起点)加入到对应的数组中。

代码:这里随便截选了一个点作为停留点。停留时间由setTimeout里面的时间决定

 if (step === anverageLine.length - 200) {
                console.log("这里作为停留点")
                pop.setLngLat(anverageLine[anverageLine.length - 200][0])
                    .setHTML("<h1>demo7 地图marker</h1>")
                    .addTo(this.map)

                setTimeout(() => {
                    console.log("间隔3秒之后再开始运动")
                    pop.remove()
                    go(speed)
                }, 3000)
                return
            }
            if (step === anverageLine.length - 1) {
                requestId = undefined;
                step = 0
                return
            }

大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值