Я хочу добавить больше деталей в MKAnnotation как заголовок местоположения, описание, дата, название местоположения. Таким образом, это будут четыре строки, которые необходимы. Но я нашел, что только 2 параметра могут быть переданы MKAnnotation, которые являются заголовком и подзаголовком. Как я могу добавить больше деталей о карте? Помогите мне.. Заранее спасибо.
Посмотрите на создание пользовательского объекта 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;
}
И это отобразит ваше пользовательское представление там, где у вас есть аннотация... Если вам нужно пошаговое руководство, посмотрите это видео.
надеюсь, это поможет
EDIT
На самом деле я только что нашел новый пример Maps на сайте apple dev... там есть весь исходный код, который вам нужно пройти. Они также используют пользовательский MKAnnotationView
под названием WeatherAnnotationView