MKPlacemark: вернуть аббревиатуру штата США в административной области
Я использую MKPlacemark
класс для заполнения метки с указанием местоположения. При звонке AdministrativeArea
свойство, полное название штата США возвращается (например, Западная Вирджиния). Есть ли способ вернуть ТОЛЬКО инициалы (например, WV)?
1 ответ
Решение
Документы Apple по этому свойству предполагают, что нет реального определения того, что оно может содержать. Лучше всего, вероятно, создать функцию для преобразования полного имени состояния в двухбуквенный код и передать результат свойства через него перед отображением. Я бы по умолчанию исходную строку, если вы не получите совпадение.
-(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;
}