如何连续平移marker
发布于 6 年前 作者 luming 7360 次浏览 来自 问答
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。

  • 希望提供的能力
1 回复
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) 即可


回到顶部