【问题标题】:how to get the distance between two locations in miles in objective c?如何获得目标c中两个位置之间的距离(以英里为单位)?
【发布时间】:2011-12-08 19:01:01
【问题描述】:

如何使用 mapkit 框架的 distanceFromLocation 方法计算两个位置之间的距离(以英里为单位)。

谢谢

【问题讨论】:

    标签: iphone objective-c mkmapview


    【解决方案1】:

    这已在指标here 中得到解答。现在您只需将米转换为英里,即:

    1 Meter = 0.000621371192 Miles 
    

    1 Mile = 1609.344 Meters 
    

    【讨论】:

      【解决方案2】:

      试试下面的代码:

      double latA = [currentlat floatValue];
      double logA = [currentlong floatValue];
      
      double latB = [toLat floatValue];
      double logB = [toLong floatValue];
      
      CLLocation *locA = [[CLLocation alloc] initWithLatitude:latA
                                                    longitude:logA];
      
      CLLocation *locB = [[CLLocation alloc] initWithLatitude:latB longitude:logB];
      CLLocationDistance distance = [locA distanceFromLocation:locB];
      NSLog(@"Calculated Miles %@", [NSString stringWithFormat:@"%.1fmi",(distance/1609.344)]);
      

      【讨论】:

        【解决方案3】:

        这个函数在 Apple 的文档中似乎很容易解释?它会给出用户位置和给定位置之间的距离,所以你必须创建一个新的 CLLocation 对象来告诉 iPhone 你想去哪里。

        该函数以米为单位给出结果。要转换为英里,请乘以 0.000621371192。更多信息见this thread.

        【讨论】:

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