Jak powstrzymać metodę viewForAnnotation przed nadpisaniem domyślnego niebieskiego sygnału nawigacyjnego lokalizacji użytkownika w systemie iOS

W tej chwili zapełniam widok mapy z adnotacjami, a także wyświetlając bieżącą lokalizację użytkownika. Dzięki metodzie viewForAnnotation zastępuje wszystkie adnotacje domyślną czerwoną szpilką, ale chcę zwrócić widoki dla innych adnotacji, ale zachować lokalizację użytkownika jako domyślny niebieski sygnał nawigacyjny. Czy jest jakiś sposób, aby to zrobić po prostu lub czy muszę utworzyć nowy widok adnotacji i zwrócić właściwy w zależności od adnotacji?

W tej chwili mam coś takiego:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    if (annotation.coordinate == locationManager.location.coordinate) {

return nil;

    }else {

    MKAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"Beacon"];

    // Button
    UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    button.frame = CGRectMake(0, 0, 23, 23);
    annotationView.rightCalloutAccessoryView = button;


    annotationView.canShowCallout = YES;

    return annotationView;
}
}

Ale nie mogę zrównać tych dwóch, ponieważ nie mogę uzyskać właściwości współrzędnych z argumentu adnotacji.

Czy ktoś zna jakieś rozwiązania?

questionAnswers(1)

yourAnswerToTheQuestion