Come aggiungere più dettagli in MKAnnotation in iOS
-
23-09-2019 - |
Domanda
Voglio aggiungere più dettagli in MKAnnotation come titolo posizione, descrizione, la data, il nome del luogo. Così sarà quattro linee che sono necessari. Ma ho scoperto che solo 2 parametri possono essere passati al MKAnnotation che sono titolo e sottotitolo. Come posso aggiungere ulteriori dettagli sulla mappa? Plz help me..Thanks in anticipo.
Soluzione
Date un'occhiata a creare un oggetto personalizzato MKAnnotationView
... è fondamentalmente un UIView
che è su misura per la mappa annotazioni. In questo oggetto si potrebbe avere i vostri 4 etichette personalizzate.
Nella classe MKMapViewDelegate
, si implementa il metodo viewForAnnotation
:
- (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 che visualizzerà la visualizzazione personalizzata ovunque tu abbia un'annotazione ... se volete un tutorial passo passo, guarda questo video .
Spero che questo aiuti
Modifica
In realtà ho appena trovato un nuovo mappe esempio su sito apple dev ... ha tutto il codice sorgente è necessario passare attraverso. Essi sono anche utilizzando un MKAnnotationView
personalizzata denominata WeatherAnnotationView