iphone - 在纬度/经度列表中查找最接近的纬度和经度匹配

标签 iphone ios objective-c location

我正在创建一个 iPhone 应用程序,用于查找特定位置的天气,但我遇到了以下问题,我不确定解决的最佳方法。

我有某个位置的纬度和经度,并希望从 5000 多个位置的列表中找到最接近的纬度/经度匹配

5000 多个位置来自 Met Office Datapoint API 的 JSON 提要,并采用 NSDictionaries 的 NSArray 形式,NSDictionary 包括 id、lat、long 和 name。

我想将我的位置与英国气象局列表中最近的位置进行匹配,并获取 id 键值。

提前非常感谢

最佳答案

我假设您在此使用 CLLocation 对象...

- (CLLocation*)closestLocationToLocation:(CLLocation*)currLocation
{
    CLLocationDistance minDistance;

    CLLocation *closestLocation = nil;

    for (CLLocation *location in arrayOfLocations) {
        CLLocationDistance distance = [location distanceFromLocation:currLocation];

        if (distance <= minDistance
            || closestLocation == nil) {
            minDistance = distance;
            closestLocation = location;
        }
    }

    //closestLocation is now the location from your array which is closest to the current location or nil if there are no locations in your array.

    return closestLocation;

}

可能有一种更快的方法来做到这一点,但这将完成它。

编辑使用 CLLocation 函数

关于iphone - 在纬度/经度列表中查找最接近的纬度和经度匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14727720/

相关文章:

ios - 排序字符串包含数字,NSMutableArray 与字典

ios - 如何让 iOS 7 iPhone 应用旋转到所有界面方向?

iphone - 有没有办法从 .app 文件对 Xcode 项目进行逆向工程?

iphone - UIWebView 在处理 ajax 投票网站时返回空白

iphone - 在 iPhone 中一起为日期和时间创建选择器

ios - 如何在 iOS 7 中将 CSV 文件关联到我的应用程序

iphone - 一个游戏中心帐户可容纳两个 iOS 应用程序

iphone - 我已经注册了 App ID,但它仍然显示您没有适用于 iOS 应用程序的合格 Bundle ID。在这里注册一个

objective-c - 带有 kCCHmacAlgSHA1 的 CCHmac 输出长度不一致

iphone - 将 NSString* 转换为 char?