CLLocationCoordinate2D考虑缩放级别的两点之间的距离

时间:2013-05-03 08:53:55

标签: ios objective-c cocoa-touch mapkit cllocation

我正在尝试使用MKMapView的子类创建一个可靠的群集机制。我遇到了一项任务,我已经将我的头撞在墙上已经有一段时间了 - 当注释彼此重叠时,将注释分组到一个簇中。我可以在两个注释之间获得以米为单位的距离,但是如何相对于缩放级别(latitudeDelta)获得该距离?理想情况下,我想知道两个注释何时相互重叠,例如它们的宽度和高度为40x40。

1 个答案:

答案 0 :(得分:4)

您可以使用convertCoordinate:toPointToView:获取注释的实际屏幕点的位置:

CGPoint annotationPoint = [self.mapView convertCoordinate:annotation.coordinate 
                                            toPointToView:self.mapView];

之后,使用三角技能找到两点之间的距离。