2009-11-12 5 views
2

J'ai des annotations sur une carte et une légende avec un bouton sur chacune. Ce que je dois faire est de saisir les propriétés de cette légende, c'est-à-dire. le titre, mais vous connecter cette ligne:Obtenir des informations sur une annotation de mapview sélectionnée

NSLog(@"%@", mapView.selectedAnnotations); 

retours <AddressAnnotation: 0x1bdc60> qui me donne évidemment pas d'info utile ...

Ma question est, comment puis-je accéder aux propriétés d'une annotation sélectionnée callout?

+0

Où est le code mis en œuvre? En outre, il ya une assez bonne vidéo sur MapKit par Bill Dudney disponible à partir des programmeurs pragmatiques ici: http://www.pragprog.com/screencasts/v-bdmapkit/using-map-kit – gerry3

+0

Il est mis en œuvre dans la méthode qui est appelé lorsque le bouton de la légende est enfoncé. J'ai juste besoin de récupérer le titre des annotations sélectionnées et de le stocker. – rson

Répondre

1

mapView.selectedAnnotations renvoie un tableau d'anotations. Vous devriez accéder à ses éléments pour obtenir des informations.

+0

droite, je suis capable de voir cela, mais j'ai besoin d'accéder aux informations sur une annotation individuelle, comme son titre. – rson

+0

J'utilise des vues MapView/annotations/annotations depuis assez longtemps et j'ai découvert le fait (bug?) Que selectedAnnotations sur une instance MKMapView retourne un tableau d'AnnotationView? !!!! N'as-tu pas connu le même comportement (étrange)? – yonel

+0

Non, il semble qu'il a toujours retourné des annotations pour moi – Vladimir

2

Voici comment

for (id annotation in mapView.annotations) {NSLog([annotation title]);} 
2

Voici ce que je faisais dans la fonction annotationviewClick:

Hope this helps

-(IBAction) annotationViewClick:(id) sender{ 

    [self.view addSubview:LoadingView]; 
    Annotation *ann = [myMap.selectedAnnotations objectAtIndex:([myMap.selectedAnnotations count]-1)]; 


    NSLog(@"Selected:%@", [ann tag]); 

} 
Questions connexes