Продолжение этого вопроса:
Принудительная перезагрузка просмотра при возврате из 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
, они никогда не вернутся.