【问题标题】:Airport codes - iOS机场代码 - 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 吗?

【问题讨论】:

标签: ios objective-c


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多