机场代码 – iOS

我正在开发一个需要检测用户位置的应用程序.

我需要提取用户的国家和城市代码.

我能够使用locationManager中的地标获取国家/地区代码:didUpdatetoLocation:fromLocation:如下所示:

CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks,NSError *error) {

        MKPlacemark * mark = [[MKPlacemark alloc] initWithPlacemark:[placemarks objectAtIndex:0]];
        Nsstring * code = mark.countryCode;

        NSLog(@"country code: %@",code);

    }];

那么,是否有任何解决方案可以帮助我找到用户所在城市的IATA 3-Letter Code

解决方法

我建议你使用OpenFlights提供的数据库http://openflights.org/data.html(@ Ben-G间接链接).

一个“Web服务”作为一个表单:http://openflights.org/html/apsearch但我认为考虑到数据库的大小(约9200个条目),实际上最好在应用程序中导入它并直接查询它,特别是如果你要查询很多(更多的查询…如果使用网络服务更多的流量,因此更多的延迟和减少的用户体验等).

虽然我想知道为什么你不会根据用户的位置计算一个圆圈,然后查询数据库中某个特定半径范围内的任何机场.这将为您提供所有机场的下落,显然是城市和国家.如果主要由机场服务的城市与用户所在城市不对应,则获取给定用户所在城市的机场代码可能不会给您任何信息.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...