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)?

Foi útil?

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
scroll top