MKPlacemark: retour abréviation de l'État américain dans AdministrativeArea
-
19-09-2019 - |
Question
J'utilise la classe MKPlacemark
pour remplir une étiquette avec des détails de l'emplacement. Lorsque vous appelez la propriété AdministrativeArea
, le nom complet de l'état américain est retourné (par exemple Virginie-Occidentale). Est-il possible de revenir seulement les initiales (par exemple WV)?
La solution
docs d'Apple pour cette propriété suggèrent qu'il n'y a pas de véritable définition pour ce qu'elle peut contenir. Votre meilleur pari est probablement de créer une fonction de carte du nom complet de l'état du code 2 lettres, et de transmettre le résultat de la propriété par le biais avant affichage. Je défaut à la chaîne d'origine si vous ne recevez pas un match.
-(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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow