我有一个UITableView,每个单元格都包含一个地图按钮。当我点击每个按钮时,地图视图会显示并添加相应的注释标记。
当我点击每个地图按钮时,调用此代码:
double tempLatitude = [[[myDict objectForKey:key] objectAtIndex:15] doubleValue];
double tempLongitude = [[[myDict objectForKey:key] objectAtIndex:16] doubleValue];
// key is the cell index.
//--** Setting the Latitude and Longitude
CLLocationCoordinate2D myCoordinate;
myCoordinate.latitude = tempLatitude;
myCoordinate.longitude = tempLongitude;
MyMapAnnotation *MyAnnotation = [[[MyMapAnnotation alloc] initWithCoordinate:myCoordinate addressDictionary:nil]autorelease];
MyAnnotation.title = [[myDict objectForKey:key] objectAtIndex:1];
MyAnnotation.subtitle = [NSString stringWithFormat:@"%f %f", MyAnnotation.coordinate.latitude, MyAnnotation.coordinate.longitude];
这是MyMapAnnotation的代码:
@synthesize coordinate = theCoordinate;
@synthesize title = theTitleAnnotation;
@synthesize subtitle = theSubTitleAnnotation;
- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate addressDictionary:(NSDictionary *)addressDictionary
{
if ((self = [super initWithCoordinate:coordinate addressDictionary:addressDictionary]))
{
self.coordinate = coordinate;
}
return self;
}
一切都运作良好。现在,当我点击一个按钮时,相应的注释针会显示出来,当我点击第二个按钮时,之前的针仍然存在,并且第二个注释针也被添加了。
但是,
我想要的是,
每当我点击一个按钮时,之前的注释针应该被移除,只有当前的注释针应该被添加。
我怎样才能识别出之前的针?
在哪里可以给出这段代码 [mapView removeAnnotation:annotationToRemove] ??
编辑:显然,“之前的注释针”就是“annotationToRemove”。我知道这一点。我的问题是,我怎样才能识别出这个之前的注释针以指定为“annotationToRemove”??
谢谢 :-)