Comment supprimer la légende "Emplacement actuel" en mode carte

Taper sur le cercle bleu pulsant représentant l'location user fait apparaître une légende "Emplacement actuel". Y a-t-il un moyen de supprimer cela?

Il y a une propriété sur la vue d'annotation que vous pouvez changer, une fois que l'location de l'user a été mis à jour:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { MKAnnotationView *userLocationView = [mapView viewForAnnotation:userLocation]; userLocationView.canShowCallout = NO; } 

Vous pouvez définir le title sur blanc pour supprimer la légende:

 mapView.userLocation.title = @""; 

Modifier:
Une méthode plus fiable pourrait être de didUpdateUserLocation le titre dans la méthode de délégué didUpdateUserLocation :

 -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { userLocation.title = @""; } 

ou dans viewForAnnotation :

 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>) annotation { if ([annotation isKindOfClass:[MKUserLocation class]]) { ((MKUserLocation *)annotation).title = @""; return nil; } ... } 

La définition du titre dans les methods déléguées vous permet de vous assurer que vous disposez d'une véritable instance userLocation avec laquelle travailler.