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

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

我可以使用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个条目),实际上最好将其导入应用程序中并直接对其进行查询,特别是如果要查询的话很多(更多查询...如果使用Web服务,则会带来更多流量,以及更多的延迟和减少的用户体验等)。

虽然我不知道为什么您不给定用户的位置就不计算圆,然后在数据库中查询某个特定半径内的任何机场。这将为您提供行踪中的所有机场,以及显然的城市和国家。如果主要由机场提供服务的城市与用户所在城市不符,那么获取给定用户所在城市的机场代码可能不会给您任何帮助。

关于ios - 机场代码-iOS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15774688/

10-09 13:48