欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 【vue】高德地图AMap.Polyline动态更新画折线,逐步绘制

【vue】高德地图AMap.Polyline动态更新画折线,逐步绘制

2025/2/22 2:08:54 来源:https://blog.csdn.net/qq_43757282/article/details/145518080  浏览:    关键词:【vue】高德地图AMap.Polyline动态更新画折线,逐步绘制

可以使用 setTimeoutsetInterval 来逐个点绘制折线,确保每次添加新的点到 path 并更新 Polyline,如下所示:

localPolyline(path) {console.log('逐点绘制 polyline...');let drawnPath = []; // 用于存储当前绘制的点let index = 0;let polyline = new AMap.Polyline({path: drawnPath, // 初始为空isOutline: true,outlineColor: '#ffeeff',borderWeight: 3,strokeColor: "#3366FF",strokeOpacity: 1,strokeWeight: 6,strokeStyle: "solid",strokeDasharray: [10, 5], // 只有 strokeStyle 为 dashed 时有效lineJoin: 'round',lineCap: 'round',zIndex: 50,});map.add([polyline]);let timer = setInterval(() => {if (index < path.length) {drawnPath.push(path[index]); // 添加新点polyline.setPath(drawnPath); // 更新折线路径index++;} else {clearInterval(timer); // 结束绘制map.setFitView(); // 调整视图}}, 300); // 每 300 毫秒绘制一个点
}

实现原理

  1. 逐步绘制setInterval 控制每 300ms 添加一个点,更新 Polyline
  2. 动态更新路径:每次添加新点后,调用 polyline.setPath(drawnPath) 重新渲染。
  3. 完成后调整视图:当所有点绘制完成,clearInterval(timer) 停止计时,并 map.setFitView() 以适应整个折线。

这样,你的折线会像动画一样逐个点地绘制出来!🚀

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词