How to stop the viewForAnnotation method from overriding the default user location blue beacon in iOS
Check out the documentation here:
http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html
As it states:
If the object in the annotation parameter is an instance of the
MKUserLocation
class, you can provide a custom view to denote the user’s location. To display the user’s location using the default system view, return nil.
So you can add a conditional to check for this:
if([annotation isKindOfClass: [MKUserLocation class]]) {
return nil;
}