Я хочу добавить более подробную информацию в MKAnnotation, например название местоположения, описание, дату, название местоположения. Таким образом, это будет четыре строки, которые необходимы. Но я обнаружил, что для MKAnnotation могут быть переданы только 2 параметра, которые являются заголовком и субтитрами. Как я могу добавить более подробную информацию на карте? Plz помогите мне.. Спасибо заранее.
Как добавить дополнительные сведения в MKAnnotation в iOS
Ответ 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