我了解如何根据这个 SO 问题在圆形路径中正常动画其他 CALayers: iPhone - How to make a circle path for a CAKeyframeAnimation?
但是,GMSMarkerLayer 是 CALayers 的一个特殊子类,它似乎不响应“位置”键路径(按照该链接中的说明,我没有明显看到),而是会响应“纬度”和“经度”键路径反而。
这是我尝试过的代码:
CAKeyframeAnimation *circlePathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
CGMutablePathRef circularPath = CGPathCreateMutable();
CGRect pathRect = CGRectMake(marker.position.latitude, marker.position.longitude, 0.001, 0.001);
CGPathAddEllipseInRect(circularPath, NULL, pathRect);
circlePathAnimation.path = circularPath;
circlePathAnimation.duration = 1.0f;
circlePathAnimation.repeatCount = HUGE_VALF;
[marker.layer addAnimation:circlePathAnimation forKey:[NSString stringWithFormat:@"circular-%@", marker.description]];
CGPathRelease(circularPath);
由于关键帧动画将使用“位置”关键路径,我如何将其转换为 2 个单独的关键路径(纬度和经度),以便我可以在地图上的圆圈中为标记设置动画?
任何帮助是极大的赞赏。