2

クラスを使用してMKPlacemark、ラベルに場所の詳細を設定しています。プロパティを呼び出すとAdministrativeArea、米国の州名全体が返されます (例: ウェスト バージニア)。イニシャル (WV など) のみを返す方法はありますか?

4

1 に答える 1

2

そのプロパティに関するAppleのドキュメントは、それが含むことができるものについての実際の定義がないことを示唆しています. おそらく最善の策は、完全な州名から 2 文字のコードにマップする関数を作成し、プロパティの結果を表示前に渡すことです。一致しない場合は、デフォルトで元の文字列になります。

-(NSString *)codeFromState:(NSString *)state {
  NSArray *map = [NSArray arrayWithObjects:@"Alabama",@"AL", @"Alaska",@"AK", ... @"Wyoming", @"WY", nil];
  for (int i = 0; i <[map count]; i+=2) {
    if ([state compare:[map objectAtIndex:i]] == NSOrderedSame) {
      return [map objectAtIndex:i+1];
    }
  }
  return state;
}
于 2009-12-14T18:52:44.473 に答える