Сейчас я заполняю представление карты аннотациями, а также отображаю текущее местоположение пользователя. С помощью метода viewForAnnotation он отменяет все аннотации с красным булавкой по умолчанию, но я хочу вернуть представления для других аннотаций, но сохраните местоположение пользователя по умолчанию для синего маяка. Есть ли способ сделать это просто или мне нужно создать новое представление аннотации и вернуть правильное в зависимости от аннотации?
Сейчас у меня есть что-то вроде:
- (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;
}
}
Но я не могу приравнять два, потому что я не могу получить свойство координат из аргумента аннотации.
Кто-нибудь знает какие-либо решения?