MKMapAnnotations didSelectAnnotationView не отвечает - PullRequest
0 голосов
/ 31 января 2012

Я создаю приложение, которое извлекает данные с сервера и определяет различные дома на карте. Моя проблема в том, что он отображает аннотации, но когда я нажимаю на них, они не отвечают - (void) mapView: (MKMapView *) mapView didSelectAnnotationView: (MKAnnotationView *) представление

Я поместил свои аннотации в массив:

int s;
self.mapAnnotations = [[NSMutableArray alloc] init];

for(s=0; s < numberOfAnnotations; s++)
{
    //NSDictionary *dict2 = [parser objectWithString:[[arrayOfResults objectAtIndex:0] description]];

   CLLocationDegrees daLong = [[[[[arrayOfResults objectAtIndex:s] objectForKey:@"map"] objectForKey:@"longitude"] description] floatValue];
   CLLocationDegrees daLat = [[[[[arrayOfResults objectAtIndex:s] objectForKey:@"map"] objectForKey:@"latitude"] description] floatValue];

    /*self.customAnnotation = [[BasicMapAnnotation alloc] initWithLatitude:daLat andLongitude:daLong];
    [self.mapView addAnnotation:self.customAnnotation];*/

    BasicMapAnnotation *m = [[BasicMapAnnotation alloc] initWithLatitude:daLat andLongitude:daLong];
    [self.mapAnnotations addObject:m];


}

[self.mapView addAnnotations:self.mapAnnotations];
NSLog(@"this number of annotations %d", [self.mapAnnotations count]);

Я также заметил, когда я создал отдельный дом для размещения на карте в моем представлении DidLoad:

self.normalAnnotation = [[BasicMapAnnotation alloc] initWithLatitude:38 andLongitude:-90.2045];
self.normalAnnotation.title = @"                                                         ";
[self.mapView addAnnotation:self.normalAnnotation];

Это сработало, когда я щелкнул по нему, но те, которые прошли через массив, не сработали. Может кто-нибудь помочь мне понять, почему он не отвечает?

1 Ответ

4 голосов
/ 31 января 2012

Это потому, что аннотации должны иметь title для отображения выноски.В цикле for установите свойство title, как вы сделали с self.normalAnnotation.title = @" ".

...