Q: didAddAnnotationViews is being called more than once Sometimes, the following delegates method is being called two times even though I add a new location on the map, does anyone know ?
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    //Here
    [self.mapView selectAnnotation:[[self.mapView annotations]objectAtIndex:0] animated:YES];
}


A: Note that -didAddAnnotationViews: is called when the views are added to the map, not the annotations. That is, if they go offscreen and get set to nil, they could reappear again when the annotation bounding box intersects the screen bounds. 
