Удаление и добавление MKAnnotations в MapView оставляет меня с пустым MapView - PullRequest
0 голосов
/ 31 мая 2010

Продолжение этого вопроса:

Принудительная перезагрузка просмотра при возврате из FlipSideView служебного приложения

Когда я возвращаюсь с обратной стороны, я звоню1007 *

NSArray *annotations = [NSArray arrayWithArray:[mapView annotations]];
[mapView removeAnnotations:annotations];

Чтобы удалить все контакты с карты (дайте мне знать, если это не лучший способ сделать это).

Затем:

for(Hole *hole in fetchedObjects)
    {
        double latitude = [hole.Latitude doubleValue];
        cord.latitude = latitude;
        double longitude = [hole.Longitude doubleValue];
        cord.longitude = longitude;

        WellPlaceMark *placemark = [[WellPlaceMark alloc] initWithCoordinate:cord withWellType:[NSString stringWithString: hole.WellType]]; 
        [mapView addAnnotation:placemark];

    }

Плюс:

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];

    if ([annotation isKindOfClass:[MKUserLocation class]])
        return nil;

    if([annotation isKindOfClass:[WellPlaceMark class]])
    {
...

    }
    annView.animatesDrop=FALSE;
    return annView;
}

Весь этот код, кажется, вызывается в отладчике, но когда он закончится, мне представляется пустая карта.Я попытался уменьшить масштаб, и булавки никуда.Карта отлично загружается с первой попытки, но как только я позвоню removeAnnotations, они никогда не вернутся.

1 Ответ

0 голосов
/ 01 июня 2010

Я понял это: я добавлял новый MKMapView с индексом 0, который появлялся под очищенным MKMapView. Повторное использование того же MKMapView решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...