Como adicionar mais detalhes no MKAnnotation no iOS
-
23-09-2019 - |
Pergunta
Quero adicionar mais detalhes no MKAnnotation, como título do local, descrição, data, nome do local.Portanto, serão necessárias quatro linhas.Mas descobri que apenas 2 parâmetros podem ser passados para o MKAnnotation, que são título e subtítulo.Como posso adicionar mais detalhes no mapa?Plz me ajude.. Obrigado antecipadamente.
Solução
Dê uma olhada em como criar um personalizado MKAnnotationView
objeto...é basicamente um UIView
que é adaptado para anotações de mapa.Nesse objeto você poderia ter seus 4 rótulos personalizados.
Na tua MKMapViewDelegate
classe, você implementa o viewForAnnotation
método:
- (CustomMapAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
CustomMapAnnotationView *annotationView = nil;
// determine the type of annotation, and produce the correct type of annotation view for it.
CustomMapAnnotation* myAnnotation = (CustomMapAnnotation *)annotation;
NSString* identifier = @"CustomMapAnnotation";
CustomMapAnnotationView *newAnnotationView = (CustomMapAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if(nil == newAnnotationView) {
newAnnotationView = [[[CustomMapAnnotationView alloc] initWithAnnotation:myAnnotation reuseIdentifier:identifier] autorelease];
}
annotationView = newAnnotationView;
[annotationView setEnabled:YES];
[annotationView setCanShowCallout:YES];
return annotationView;
}
E isso exibirá sua visualização personalizada onde quer que você tenha uma anotação...se você quiser um tutorial passo a passo, confira este vídeo.
espero que isto ajude
EDITAR
Na verdade, acabei de encontrar um novo Exemplo de mapas no site de desenvolvimento da Apple...tem todo o código-fonte que você precisa ler.Eles também estão usando um costume MKAnnotationView
chamado WeatherAnnotationView