iPhone SDK: MapKit несколько пользовательских аннотаций - PullRequest
2 голосов
/ 27 сентября 2010

Я могу загрузить большой список местоположений на свой MapKit и отобразить их с пользовательским изображением PIN-кода и аннотацией.

Проблема, с которой я столкнулся, заключается в том, что у меня в настоящее время все аннотации отображаются одинаковоTitle, Subtitle и pinImage.

Как мне сделать так, чтобы я мог установить каждую аннотацию с собственным заголовком и другим изображением Pin?Я с трудом пытаюсь определить, какие аннотации настраиваются через mapView: viewForAnnotation.

- (NSString *)subtitle{

    return @"This is the annotation subtitle.";
}

- (NSString *)title{
    return @"Annotations Title";
}

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    if (annotation == mapView.userLocation) {
        return nil;
    }

    MKAnnotationView *annView=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    UIImage *pinImage = [UIImage imageNamed:@"mapPin.png"];
    annView.image = pinImage;
    return annView;
}

1 Ответ

2 голосов
/ 27 сентября 2010

Вам нужно будет привести объект аннотации к вашему пользовательскому типу и получить доступ к его свойствам, чтобы соответствующим образом изменить возвращаемый объект annotationView.

Пример проекта Apple WeatherMap является хорошим примером того, как это сделать.https://developer.apple.com/library/ios/#samplecode/WeatherMap/Introduction/Intro.html

Пример проекта MapCallouts - та же идея, но более простая реализация.https://developer.apple.com/library/ios/#samplecode/MapCallouts/Introduction/Intro.html

...