IOS 根据高德地图实现运动轨迹的渐变画线

在做一款有运动功能的app,要求跑步中持续定位,运动完毕后根据定位得到的经纬度数组,绘制一条运动轨迹,而且是根据运动配速的不同实现渐变色

我的实现思路

在持续定位的回调中,将定位得到的经纬度,重新组织一下添加到locationArray中,下边的截图是每一个定位点重新组织过保存的数据
WeChat42518426805005519712bc56c81fbb0f.png

这样我们在回调中每次得到一个新的点时,都拿这个新的点与locationArray中的最后一个元素做对比,对比经纬度能得到距离,对比时间戳能得到时间差,这样就等得到两点之间的平均速度了(单位:米/秒),然后可以根据自己定义的速度,什么速度是快,什么速度是慢,什么速度是正常给color_type赋上代表不同颜色的标志值

其中is_stop_running 是记录暂停的标志值,当暂停时就往locationArray中插入一条is_stop_running=true的标志数据

2:然后使用高德地图绘制线
首先将locationArray中的所有点根据is_stop_running=true的暂停标志,将locationArray切片成一个个不包含is_stop_running=true的数据的单独的数组(ArraySlice),swift,使用split函数

然后MAMultiPolyline进行划线,使用MAMultiColoredPolylineRenderer来设置渐变的颜色

大体就是这样,有疑问可以留言

你可能感兴趣的:(IOS 根据高德地图实现运动轨迹的渐变画线)