Po ustawieniu wartości mapView.showsUserLocation
na true, możliwe jest otrzymywanie aktualizacji lokalizacji bez pokazywania bańki MKUserLocation? Wracając do zera w mapView:viewForAnnotation:
po prostu pokazuje bańkę, a powracanie jakiejkolwiek innej adnotacji pokazuje adnotację, której nie chcę.Ukryj lokalizację MKUserLocation, gdy wyświetla się widok MKMapViewUserLocation == YES
6
A
Odpowiedz
25
Można ukryć wyświetlić lokalizację użytkownika w sposobie didAddAnnotationViews
Delegat:
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation];
ulv.hidden = YES;
}
0
Swift 3:
func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
if let userLocation = mapView.view(for: mapView.userLocation) {
userLocation.isHidden = true
}
}
Wow, doskonały. Nie zdawałem sobie sprawy, że możesz manipulować widokami MKAnnotationView w ten sposób. Chociaż przypuszczam, że ma to sens, ponieważ są to tylko obiekty interfejsu użytkownika. Dziękuję Ci! –
gdzie muszę umieścić ten fragment kodu? – Elgert
@ Elgert, Ta metoda powinna należeć do klasy, która implementuje delegata MKMapView (zwykle ten, który zawiera widok mapy). Upewnij się, że właściwość delegata widoku mapy jest ustawiona. – Anna