我想从数组中的动态坐标中动画化谷歌标记的移动。但马克正在直线上移动。
我的代码:
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
}