Como impedir que o método viewForAnnotation substitua o beacon de localização do usuário padrão no iOS

No momento, estou preenchendo uma visualização de mapa com anotações e também exibindo a localização atual do usuário. Com o método viewForAnnotation, ele substitui todas as anotações com o pino vermelho padrão, mas desejo retornar as exibições para as outras anotações, mas manter o local do usuário como o sinalizador azul padrão. Existe uma maneira de fazer isso simplesmente ou eu tenho que criar uma nova visão de anotação e retornar a correta dependendo da anotação?

Agora eu tenho algo como:

- (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;
}
}

Mas não consigo equacionar os dois porque não consigo extrair a propriedade coordinate do argumento de anotação.

Alguém conhece alguma solução para isso?

questionAnswers(1)

yourAnswerToTheQuestion