以下是这个问题:
Forcing Reload of View when returning from FlipSideView of Utility Application
当从反面视图返回时,我打电话给
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
他们再也不会回来了。