【问题标题】:xCode, table view cells in distance orderxCode,按距离顺序的表格视图单元格
【发布时间】:2012-06-07 20:18:32
【问题描述】:

在我的应用程序中,我正在尝试在距设备的距离范围内自行创建表格视图!所以假设我在表格中有 20 行,然后它们进入距离顺序。

唯一的问题是,我对制作应用程序还很陌生,所以可能需要非常详细的解释!多年来我一直在尝试这样做......

如果有人帮助我在 Xcode 中执行什么代码以及我需要做什么,请执行!将不胜感激!

有什么帮助吗?

【问题讨论】:

  • 与移动设备的距离
  • tableView 中显示了哪些数据?尝试更具体,并且您尝试过的任何代码都可以帮助人们帮助您!
  • 它基本上是每个俱乐部的名称...我也有每个场地的经度和纬度...所以希望表格视图进入每个俱乐部的距离顺序用户打开它:)

标签: xcode uitableview ios5


【解决方案1】:

我强烈建议您阅读 CLLocation (http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html),因为它会为您提供找出用户当前位置所需的所有信息。然后,一旦您有了当前位置,就可以使用该位置和每个位置的纬度/经度来计算距离。设置对象的距离后,您可以按对象的属性(在您的情况下为俱乐部)对它们进行排序。

我正在使用以下 sn-p 来计算从用户当前位置到另一个位置(在本例中为设施)的距离:

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]]];
}

我不久前从 SO 的某个地方得到了英里转换,这是因为一英里有 1,609.344 米。如果您只需要仪表,则可以排除该转换。另请注意,我仅使用 1 位小数来显示 UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多