【发布时间】:2018-04-23 17:22:02
【问题描述】:
在here发布的问题中,用户问:
我有一个充满经度和纬度的数组。我的用户位置有两个双重变量。我想测试我的用户位置与我的阵列之间的距离,以查看哪个位置最近。我该怎么做?
这将获得 2 个位置之间的距离,但很难理解我将如何针对一组位置进行测试。
作为回应,他得到了以下代码:
NSArray *locations = //your array of CLLocation objects
CLLocation *currentLocation = //current device Location
CLLocation *closestLocation;
CLLocationDistance smallestDistance = DBL_MAX; // set the max value
for (CLLocation *location in locations) {
CLLocationDistance distance = [currentLocation distanceFromLocation:location];
if (distance < smallestDistance) {
smallestDistance = distance;
closestLocation = location;
}
}
NSLog(@"smallestDistance = %f", smallestDistance);
我正在处理的应用程序中遇到完全相同的问题,我认为这段代码可以完美运行。但是,我使用的是 Swift,并且这段代码是在 Objective-C 中的。
我唯一的问题是:它在 Swift 中应该是什么样子?
感谢您的帮助。我对这一切都很陌生,在 Swift 中看到这段代码可能会大有帮助。
【问题讨论】:
标签: ios swift google-maps cllocationmanager cllocationdistance