在此处发布的问题中,用户问:
我有一个充满经度和纬度的数组。我的用户位置有两个双重变量。我想测试我的用户位置与我的数组之间的距离,以查看哪个位置最近。我该怎么做呢?
这将获得 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 中看到这段代码可能是一个很大的进步。