title: MKAnnotationView for userLocation pin iPhone
body: <p>I have an application that uses MKMapView and at some point in the app I need to remove all the current pins in the map using</p>
  
  <pre><code>[mapView removeAnnotations:mapView.annotations]
  </code></pre>
  
  <p>And then I want to show again the current user location</p>
  
  <pre><code>mapView.showUserLocation = YES
  </code></pre>
  
  <p>But I can only make it reappear as a regular pin, because the userLocation view class its not public so I cant return views of that type. Here is my code</p>
  
  <pre><code>- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id&lt;MKAnnotation&gt;)annotation
  
  MKPinAnnotationView* annView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"currentloc"];
  
  if (!annView) {
     MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorRed;
    annView.animatesDrop=TRUE;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    if ([annotation isKindOfClass:[DraggableAnnotationAM class]] ) annView.draggable =YES;
    return annView;
  
  }
  else {
    if ([annotation isKindOfClass:[DraggableAnnotationAM class]] ) annView.draggable =     YES;
    annView.annotation = annotation;
    return annView;
   }
  </code></pre>
  
  <p>Also I have found through reflection that </p>
  
  <pre><code>MKUserLocationView
  </code></pre>
  
  <p>is the class that is used to display the current location, but because its not public its not safe to use and my app keeps crashing and Im sure theres a easier way.</p>
  
  <p>Is it possible to do what I want, or should I just never remove the user location annotation of the mapView?</p>
  
  <p>Thanks in advance</p>