我有一个包含位置的表格视图,我想在按下按钮时按附近位置过滤它们。我在想,当我按下按钮时,应用程序可以重新加载附近位置的表格视图,但我无法弄清楚如何进行过滤。
答案 0 :(得分:1)
假设您有NSArray
个CLLocation
个对象,我们称之为locations
和CLLocation *currenLocation
代表您当前的位置。
NSArray *sortedLocations = [locations sortedArrayUsingComparator:^(id obj1, id obj2) {
CLLocationDistance distance1 = [currentLocation distanceFromLocation: (CLLocation *)obj1];
CLLocationDistance distance2 = [currentLocation distanceFromLocation: (CLLocation *)obj2];
return distance1 - distance2;
}];
编辑:您可以使用CLLocationManager
对象通过委托方法频繁更新用户的位置。您可以startUpdatingLocation
启动它。查看this以获取更多信息。
如果您的地理位置为– initWithLatitude:longitude:
,则可以创建一个CLLocation
。