2011-01-05 3 views
0

Als ich diese verwenden:Anzeige selectedAnnotation info

- (void)mapView:(MKMapView *)myMapView annotationView:(MKAnnotationView *)view 
     calloutAccessoryControlTapped:(UIControl *)control 
{ 
    NSLog(@"SelectedAnnotations is %@", myMapView.selectedAnnotations); 
} 

Es zeigt dies im Protokoll.

"<Annotation: 0x586cdb0>" 

Jetzt ist das eine seltsame Frage, aber woher bekomme ich die Informationen aus dieser Annotation? Ich habe meine Meinung verloren.

Dies ist, was in der Anmerkung ist.

myAnnotation = [[Annotation alloc] init]; 
myAnnotation.dealName=[NSString stringWithFormat:@"%@",[tempValue objectForKey:@"name"]]; 
myAnnotation.subName=[NSString stringWithFormat:@"Price: $%@",[tempValue objectForKey:@"price"]]; 
myAnnotation.latitude = [NSNumber numberWithDouble:[[tempValue objectForKey:@"dealLatitude"] doubleValue]]; 
myAnnotation.longitude = [NSNumber numberWithDouble:[[tempValue objectForKey:@"dealLongitude"] doubleValue]]; 
myAnnotation.dealId = [NSNumber numberWithInt:[ [tempValue objectForKey:@"dId"] intValue ]]; 

Danke für Ihre Hilfe.

Antwort

0

In calloutAccessoryControlTapped, tippte die Anmerkung im MKAnnotationView Parameter zur Verfügung:

Annotation *myAnnotation = (Annotation *)view.annotation; 
+0

Du bist mein verdammter Held !!!!!!!!!!!!!!!!!! Wo war mein Gehirn? –