title: iOS distinguish between which callout accessory is tapped
body: <p>In my map annotations, I have a UIButton as each accessory view in the callouts. In the <code>- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control</code> method, how do I figure out which accessory view was touched to handle each the events? Here's my code:</p>
  
  <pre><code>-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id&lt;MKAnnotation&gt;)annotation {
  
  if ([annotation isKindOfClass:[MKUserLocation class]])
      return nil;
  
  MKPinAnnotationView *MyPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"current"];
  
  UIButton *calloutButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
  UIButton *directionsButton = [UIButton buttonWithType:UIButtonTypeCustom];
  directionsButton.frame = CGRectMake(0, 0, 23, 23);
  [directionsButton setBackgroundImage:[UIImage imageNamed:@"directions.png"] forState:UIControlStateNormal];
  
  MyPin.leftCalloutAccessoryView = directionsButton;
  MyPin.rightCalloutAccessoryView = calloutButton;
  MyPin.draggable = NO;
  MyPin.highlighted = NO;
  MyPin.animatesDrop= YES;
  MyPin.canShowCallout = YES;
  MyPin.pinColor = MKPinAnnotationColorRed;
  
  return MyPin;
  }
  
  - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
  
  Annotation *ann = view.annotation;
  
  if ([control tag] == 1) {
  
      CLLocationCoordinate2D currentCoords = {ann.coordinate.latitude, ann.coordinate.longitude};
  
      MKPlacemark *place = [[MKPlacemark alloc] initWithCoordinate: currentCoords addressDictionary:nil];
      MKMapItem *destination = [[MKMapItem alloc] initWithPlacemark: place];
      destination.name = ann.title;
      destination.url = [NSURL URLWithString:@"http://www.wccca.com/PITS"];
      NSArray *items = [[NSArray alloc] initWithObjects: destination, nil];
      NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:
                               MKLaunchOptionsDirectionsModeDriving,
                               MKLaunchOptionsDirectionsModeKey, nil];
      [MKMapItem openMapsWithItems: items launchOptions: options];
  
  }
  
  if ([control tag] == 2) {
  
      MKCoordinateRegion region;
      region.center.latitude = ann.coordinate.latitude;
      region.center.longitude = ann.coordinate.longitude;
      region.span.latitudeDelta  = 0.02;
      region.span.longitudeDelta = 0.02;
  
      [self.mapView setRegion:region animated:YES];
  }
  
  }
  </code></pre>