首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLLocationDistance转换

CLLocationDistance转换
EN

Stack Overflow用户
提问于 2011-02-03 23:40:43
回答 5查看 32K关注 0票数 9

我在CLLocationDistance类型的变量中有距离,我需要将它转换为整数变量,我该怎么做呢

我有用处

代码语言:javascript
复制
CLLocationDistance kilometers;

int distance = [kilometers intValue];

但它给出了错误。

帮助那些家伙

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-03 23:48:07

https://developer.apple.com/library/mac/#documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html

代码语言:javascript
复制
distanceFromLocation:

返回从接收者的位置到指定位置的距离(以米为单位)。

代码语言:javascript
复制
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location

参数

位置另一个位置。

返回值两个位置之间的距离(米)。

返回类型不是int,而是double。而且它也不是NSNumber

票数 15
EN

Stack Overflow用户

发布于 2015-08-10 17:36:30

这将使用CLLocationDistance计算两个位置之间的距离。默认情况下,它以米为单位给出值。要转换为千米,请将CLLocationDistance/1000.0除以。为了得到里程数乘以CLLocationDistance*0.62137

代码语言:javascript
复制
 //Pass your current location Latitude and longitude
                     CLLocation *currentlocation = [[CLLocation alloc] initWithLatitude:13.015370f  longitude:80.200393f];
 //Pass your destination location Latitude and longitude 
CLLocation *destination = [[CLLocation alloc] initWithLatitude:37.420948f longitude:-122.09578499999998f];
CLLocationDistance meters = [currentlocation distanceFromLocation:destination];
//get distance in meters
    NSLog(@"meters :%f", meters);
//get distance in kilometers
    CLLocationDistance kilometers = meters / 1000.0;
    NSLog(@"kilometers :%f", kilometers);
//Get distance in miles
    NSLog(@"Miles:%f",kilometers*0.62137);
//convert kilometers to int value
    int num=kilometers;
票数 11
EN

Stack Overflow用户

发布于 2018-07-05 22:18:41

从iOS 10开始,有了一个新的Measurement类,它使得转换距离变得轻而易举。

下面是一个转换距离的扩展:

代码语言:javascript
复制
extension Double {
  func convert(from originalUnit: UnitLength, to convertedUnit: UnitLength) -> Double {
    return Measurement(value: self, unit: originalUnit).converted(to: convertedUnit).value
  }
}

示例用法:

代码语言:javascript
复制
let miles = 1.0
let metersInAMile = miles.convert(from: .miles, to: .meters)

let mileInFeet = 5280.0
let feetInAMile = mileInFeet.convert(from: .feet, to: .miles)

let marathonInFeet = 138_435.0
let milesInMarathon = marathonInFeet.convert(from: .feet, to: .miles)
let kmInMarathon = marathonInFeet.convert(from: .feet, to: .kilometers)

let inch = 1.0
let centimetersInInch = inch.convert(from: .inches, to: .centimeters)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4888200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档