Ik loste het probleem het toevoegen van een waarnemer. De waarnemer doet dan zijn ding en daarna het bijschrift verschijnt.
Iets wat ik had problemen met is dat ik de informatie in de callout bel niet konden worden bijgewerkt na de bubble wordt getoond. De enige manier om dit te doen is om uw eigen callout bel te maken (zoals ik het begrijp), dat is iets wat ik niet het gevoel dat gezien het feit dat ik een deadline. Ik bevestigde dat door het toevoegen van een extra UIView met een alfa op en een tekst "Getting locatiegegevens ...". Ik gewoon opdagen die opvatting bij het indrukken van een locatie en wanneer de waarnemer wordt gedaan, verberg ik de mening weer (natuurlijk met behulp van een animatie).
Hoop dat mijn antwoord geholpen anderen.
Code:
[pin addObserver:self
forKeyPath:@"selected"
options:NSKeyValueObservingOptionNew
context:GMAP_ANNOTATION_SELECTED];
Nog enkele code:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context{
NSString *action = (NSString*)context;
MKAnnotationView *annotationView = [(MKAnnotationView*)object retain];
BikeAnnotation *bike = [[annotationView annotation] retain];
if([action isEqualToString:GMAP_ANNOTATION_SELECTED] && [[bike _stationType] intValue] != 5 && [[bike _stationType] intValue] != 6){
BOOL annotationAppeared = [[change valueForKey:@"new"] boolValue];
if (annotationAppeared) {
NSLog(@"Annotation selected");
else {
NSLog(@"annotation deselected");
}
}
}
En zet deze net na de @ synthetiseren's:
NSString * const GMAP_ANNOTATION_SELECTED = @"gmapselected";