Подтвердить что ты не робот

Как добавить дополнительные сведения в MKAnnotation в iOS

Я хочу добавить более подробную информацию в MKAnnotation, например название местоположения, описание, дату, название местоположения. Таким образом, это будет четыре строки, которые необходимы. Но я обнаружил, что для MKAnnotation могут быть переданы только 2 параметра, которые являются заголовком и субтитрами. Как я могу добавить более подробную информацию на карте? Plz помогите мне.. Спасибо заранее.

4b9b3361

Ответ 1

Взгляните на создание пользовательского объекта MKAnnotationView... это в основном UIView, который предназначен для аннотаций карт. В этом объекте вы можете иметь 4 пользовательских ярлыка.

В вашем классе MKMapViewDelegate вы реализуете метод viewForAnnotation:

- (CustomMapAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    CustomMapAnnotationView *annotationView = nil;

    // determine the type of annotation, and produce the correct type of annotation view for it.
    CustomMapAnnotation* myAnnotation = (CustomMapAnnotation *)annotation;

    NSString* identifier = @"CustomMapAnnotation";
    CustomMapAnnotationView *newAnnotationView = (CustomMapAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:identifier];

    if(nil == newAnnotationView) {
        newAnnotationView = [[[CustomMapAnnotationView alloc] initWithAnnotation:myAnnotation reuseIdentifier:identifier] autorelease];
    }

    annotationView = newAnnotationView;
    [annotationView setEnabled:YES];
    [annotationView setCanShowCallout:YES];

    return annotationView;
}

И это покажет ваш пользовательский вид, где бы вы не указали аннотацию... если вы хотите пошаговое руководство, проверить это видео.

надеюсь, что это поможет

ИЗМЕНИТЬ

Я на самом деле просто нашел новый Пример Карт на веб-сайте apple dev... имеет весь исходный код, который вам нужно пройти. Они также используют пользовательский MKAnnotationView, называемый WeatherAnnotationView