两个点坐标之间的角度,以相应地旋转图像

时间:2013-02-26 06:57:56

标签: ios mkmapview cllocationmanager cgaffinetransform

我有两点CLLocationCoordinate2D,让我们说A& B在mapView上。我想要一个箭头图像从一个点指向另一个点(A-> B)。我无法找到transform箭头图像的正确角度。

请参阅此图片以获取参考example screen-shot

提前致谢。

1 个答案:

答案 0 :(得分:6)

这是一个老问题,但也许它仍然可以帮助看到这里的人:

CGFloat angle = atan2f(point2.y - point1.y, point2.x - point1.x);
CGAffineTransform rotationTransform = CGAffineTransformIdentity;
rotationTransform = CGAffineTransformMakeRotation(angle);
arrow.transform = rotationTransform;

如果你想在第1点放置UIImageView“箭头”,并指向第2点,你只需使用增量来获得反正切,然后根据该角度创建变换,然后分配转换为箭头的UIImageView