机场代码 - iOS

Posted

技术标签:

【中文标题】机场代码 - iOS【英文标题】:Airport codes - iOS 【发布时间】:2013-04-02 21:25:01 【问题描述】:

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

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

我能够使用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 吗?

【问题讨论】:

我想唯一的解决方案是使用可用的外部数据库将您的位置连接/匹配到 IATA。这个线程提到了可用的服务:***.com/questions/787782/… 这是另一个你可以使用的数据库partow.net/miscellaneous/airportdatabase,不幸的是不是一个网络服务。 谢谢@Ben-G,我将使用全球机场数据库。 【参考方案1】:

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

有某种形式的“网络服务”:http://openflights.org/html/apsearch,但我认为考虑到数据库的大小(大约 9200 个条目),实际上最好将其导入应用程序并直接查询,特别是如果您将进行很多查询(更多查询...如果使用 Web 服务,则更多流量,因此更多延迟和降低用户体验等)。

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

【讨论】:

以上是关于机场代码 - iOS的主要内容,如果未能解决你的问题,请参考以下文章

机场代码API

国际航空运输协会机场代码(英文)

巴西圣保罗的GRU 和VCP 两个机场,有啥区别?

机场跑道入侵检测(C++Qt)

巴西圣保罗的GRU 和VCP 两个机场,有啥区别,有人知道吗? 求解

机器学习实战4:基于马尔科夫随机场的图像分割(附Python代码)