1
マップ上にユーザーの位置を表示してピンをドロップしたいのですが、私のアプリはある距離で2つのピンを分けてドロップします。新しいピンがドロップされたときに古いピンを削除する方法私のコードがあるマップ上の一つのピンのようになります。複数のピンを落とすマップビュー
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
(id <MKAnnotation>)annotation {
MKPinAnnotationView *pinView = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView == nil) pinView = [[[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
pinView.pinColor = MKPinAnnotationColorGreen;
pinView.canShowCallout = YES;
pinView.animatesDrop = YES;
UILabel *label =[[UILabel alloc] initWithFrame:CGRectMake(0, -200, 300, 37)];
[label setNumberOfLines:4];
[label setFont:[UIFont boldSystemFontOfSize:10]];
[label setText:[address objectAtIndex:0]];
SportUpAppDelegate *appDelegate =[[UIApplication sharedApplication]delegate];
appDelegate.currentLocation=[address objectAtIndex:0];
[label setTextAlignment:UITextAlignmentLeft];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor whiteColor]];
[pinView setLeftCalloutAccessoryView:label];
[label release];
}
else {
[mapView.userLocation setTitle:@"I am here"];
}
return pinView;
}