高德地图生成路径上的点
需求
今天接到产品的一个需求,需要生成一条路径上,车速30km/h,每隔15s的位置。输出一个数组。
问题点
通过常用的路径规划api(高德地图路径规划api),例如AMap.Driving,我们可以得到包含转弯关键点的数据,但是并没有包括我们所需要的那么密集的点。
解决方法
- 通过AMap.Driving生产的路径,我们自己建立一个marker,让marker按照我们需要的速度行走
- 每隔固定时间取marker的当前坐标
利用 moveAlong 方法
以指定的速度,点标记沿指定的路径移动。参数path为轨迹路径的经纬度对象的数组;speed为指定速度,单位:千米/小时,不可为0;
回调函数f为变化曲线函数,缺省为function(k){return k};参数circlable表明是否循环执行动画,默认为false
moveAlong(path:Array,speed:Number,f:Function,circlable:Boolean)