机场代码 - 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的主要内容,如果未能解决你的问题,请参考以下文章