从阵列中的动态坐标为Google标记移动设置动画



我想从数组中的动态坐标中动画化谷歌标记的移动。但马克正在直线上移动。

我的代码:

for coord in self.lstCoordinate{
    CATransaction.begin()
    CATransaction.setAnimationDuration(2.1) 
    self.Marker.position = coord
    CATransaction.commit()
}

找到了一个解决方案。希望别人能得到充分的帮助。。

var索引=0

func moveMarker(){
    var count: Double = Double(self.lstCoordinate.count)
    CATransaction.begin()
    CATransaction.setAnimationDuration(20.0/count)
    CATransaction.setCompletionBlock
        {
            if self.index == 0{
                self.lstCoordinate.removeAll()
                return;
            }
            else{
                self.moveMarker()
            }                              
    }
    let transition = CATransition()
    transition.type = kCATransitionMoveIn
    self.originMarker.layer.addAnimation(transition, forKey: kCATransition)
    self.Marker.position = lstCoordinate[index]
    CATransaction.commit()
    index = index < lstCoordinate.count - 1 ? index + 1 : 0
}

最新更新