如何判断Coordinate是否在两个其他坐标之间

时间:2015-09-12 16:27:43

标签: ios objective-c cllocation

我有一个CLLocation数组,代表用户计算的路线。

用户可以选择将某些POI添加到该路线,我需要知道如何确定POI路线的确切位置。

接下来我想出的是:

我会浏览我的路径数组,并抓住一对CLLocations并计算从我的POI到这两个坐标的距离并保存该值。 我可以为路线上的所有坐标对执行此操作,然后查看哪个距离最小,这就是我如何知道我的坐标是否在另外两个坐标之间。

有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

这是你如何实现这个目标的:

- (CLLocation*)closestLocationToLocation:(CLLocation*)currLocation {
    CLLocationDistance minDistance;

    CLLocation *closestLocation = nil;

    for (CLLocation *location in arrayOfLocations) {
        CLLocationDistance distance = [location distanceFromLocation:currLocation];

        if (distance <= minDistance || closestLocation == nil) {
            minDistance = distance;
            closestLocation = location;
        }
    }

    return closestLocation;
}