MKPLACEMARK: Retorne a abreviação do Estado dos EUA em Administrativeea
-
19-09-2019 - |
Pergunta
Estou usando o MKPlacemark
Classe para preencher uma etiqueta com detalhes de localização. Ao ligar para o AdministrativeArea
Propriedade, todo o nome do estado dos EUA é devolvido (por exemplo, Virgínia Ocidental). Existe uma maneira de devolver apenas as iniciais (por exemplo, WV)?
Solução
Documentos da Apple para essa propriedade Sugira que não exista uma definição real para o que ela pode conter. Sua melhor aposta é provavelmente criar uma função para mapear a partir do nome completo do estado para o código de 2 letras e passar o resultado da propriedade através dela antes da exibição. Eu padrão para a string original se você não conseguir uma correspondência.
-(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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow