微信小程序map中polyline的坑
polyline
如果大家写过小程序的map地图应该就知道polyline的功效,说白了就是画线的,我在自己的项目中主要是用它来做轨迹回放的,我那地图上有两条线,第一条就是默认的路线,第二条就是行驶过后的要变颜色的线,然后,我按照文档敲的代码,却一直在给我报错,抓狂了很久。
就是报这样的错误,我相信如果踩到这坑的人肯定不止我一个,因为现在项目上的轨迹回放都是后台传gps定位给前端,一个点一个点的渲染,如果你的项目就是这样的,那么你肯定就会遇到这个问题。
首先报这个错误的原因就是polyline渲染的时候,数组里面的points一开始不能只传一个坐标,两个起步,虽然不也不知道为什么这属性会有这毛病,但当我一开始传了两个后确实解决了这个问题。
if (index == 0) {
that.data.passedPoints2.push({
latitude: subArray[index].latitude,
longitude: subArray[index].longitude
}, {
latitude: subArray[index].latitude,
longitude: subArray[index].longitude
})
} else {
that.data.passedPoints2.push(subArray[index])
}
我是采用通过判断是不是读数组的第0条数据,如果是的话就直接复制第一条的数据,然后就完美的解决了这个报错(越写越气愤,为什么会有这毛病,郁闷了我好久!!!)
polyline层级
还有一个小提醒,如果你的也是两条线,并且都是用同一个经纬度数组的时候,那么就要注意了,一定要用上polyline的level层级,那条线层级高,那条线层级低,不然就会有跟我同样的问题,一下子是上一条线,一下子是下一条线!!!