在我的应用程序中,我正在尝试制作一个表格视图,从设备的距离顺序自行命令!所以假设我在表格中有20行,然后它们会进入距离顺序。
唯一的问题是,我是制作应用程序的新手,所以可能需要非常详细的解释!我多年来一直试图这样做......
如果有人帮助我们在Xcode中执行什么代码和我需要做什么,请做!非常感谢!!
任何帮助?
答案 0 :(得分:0)
我强烈建议您阅读CLLocation(http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html),因为它会为您提供找出用户当前位置所需的所有信息。然后,一旦有了当前位置,就可以使用它和每个位置的纬度/经度来计算距离。在对象上设置距离后,您可以按对象上的属性(在您的情况下为俱乐部)对它们进行排序。
我正在使用以下代码段来计算从用户当前位置到另一个位置(在这种情况下是设施)的距离:
Facility *facility = [_facilities objectAtIndex:i];
CLLocation *facilityLocation = [[CLLocation alloc] initWithLatitude:[facility.latitude floatValue] longitude:[facility.longitude floatValue]];
if(facilityLocation){
CLLocationDistance distance = [currentLocation distanceFromLocation:facilityLocation];
double mileConversion = distance * 0.000621371192;
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 1;
facility.distanceFromCurrentLocation = [formatter numberFromString:[formatter stringFromNumber:[NSNumber numberWithDouble:mileConversion]]];
}
我在前一段时间从某处获得了里程转换,这是因为一英里有1,609.344米。如果您只需要计量表,则可以排除该转化。另请注意,我只使用1位小数来显示UI。