After setting mapView.showsUserLocation to true, is it possible to receive location updates without showing the MKUserLocation bubble? Returning nil in mapView:viewForAnnotation: simply shows the bubble, and returning any other kind of annotation shows an annotation, which I don't want.
You can hide the user location's view in the didAddAnnotationViews delegate method:
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation];
ulv.hidden = YES;
}
Swift 3:
func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
if let userLocation = mapView.view(for: mapView.userLocation) {
userLocation.isHidden = true
}
}
来源:https://stackoverflow.com/questions/9711874/hide-mkuserlocation-when-mkmapview-showsuserlocation-yes