for ( var i = 0; i < posArr.length; i++) { that .mapCtx.translateMarker({ markerId: 3, autoRotate: true , duration: time, destination: { latitude: posArr[i][1], longitude: posArr[i][0], }, animationEnd() { } }) } |
- 需求的场景描述(希望解决的问题)
初始化的marker方向是向上的,然后连续平移这个marker。
- 希望提供的能力
loopAnamation:
function
(subArray, index, markerId) {
var
that =
this
// 如果执行完成 或者 收到新数据 停止动画
if
(index >= subArray.length) {
return
}
console.log(
'开始移动第'
, index,
'个点'
, subArray[index],
'markId:'
, markerId, that.mapCtx)
that.mapCtx.translateMarker({
markerId: markerId,
autoRotate:
false
,
duration: 5000 / (subArray.length - 1),
destination: {
latitude: subArray[index].latitude,
longitude: subArray[index].longitude,
},
animationEnd() {
console.log(
'animation end'
)
that.loopAnamation(subArray, index + 1, markerId)
},
fail:
function
(e) {
console.log(
'移动出错了'
, e)
}
})
},
在需要的位置调用 this.loopAnamation(subArray, index,markerId) 即可