2013-04-02 9 views
6

私は、ユーザーの場所を検出する必要があるアプリケーションで作業しています。空港コード - 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を見つけることができます任意の解決策はありますか?

+13

唯一の解決策は、利用可能な外部データベースを使用してIATAにあなたの位置を接続/一致させることです。このスレッドは、利用可能なサービスに言及している:ここでhttp://stackoverflow.com/questions/787782/where-can-i-find-a-worldwide-list-of-iata-cities-with-airports は、あなたが使用できる別のDBでありますhttp://www.partow.net/miscellaneous/airportdatabase/、残念ながらウェブサービスではありません。 –

+0

ありがとう@ベン-G、私はグローバル空港データベースを使用します。 – Roula

答えて

0

OpenFlights:http://openflights.org/data.html(@ Ben-Gは間接的にリンクされています)のデータベースを使用することをお勧めします。

フォームとして多少「Webサービス」があります:http://openflights.org/html/apsearchしかし、データベースのサイズ(約9200エントリ)を考えると、実際にはアプリケーションでインポートして直接照会するほうが効果的です(より多くのクエリ... Webサービスを使用している場合のトラフィックが増え、遅延やユーザーエクスペリエンスの低下など)。

ユーザーの位置特定のサークルを計算して、いくつかの特定の半径内の任意の空港のためのデータベースを照会しません私はなぜだろうけど。それは、どこにいても明らかに都市と国のすべての空港を与えるでしょう。主に空港で提供されている都市がユーザーの所在地の都市に対応していない場合、ユーザーの市の空港コードを取得すると何も表示されません。

関連する問題