我有一个CLLocation
数组,代表用户计算的路线。
用户可以选择将某些POI添加到该路线,我需要知道如何确定POI路线的确切位置。
接下来我想出的是:
我会浏览我的路径数组,并抓住一对CLLocations并计算从我的POI到这两个坐标的距离并保存该值。 我可以为路线上的所有坐标对执行此操作,然后查看哪个距离最小,这就是我如何知道我的坐标是否在另外两个坐标之间。
有没有其他方法可以做到这一点?
答案 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;
}