2

我正在使用MKPlacemark该类来填充具有位置细节的标签。调用该AdministrativeArea属性时,将返回美国州的全名(例如西弗吉尼亚州)。有没有办法只返回首字母(例如 WV)?

4

1 回答 1

2

苹果关于该属性的文档表明它可以包含的内容没有真正的定义。您最好的选择可能是创建一个函数来从完整的州名映射到 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 回答