Взгляните на создание пользовательского 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
Я на самом деле только что нашел новый Пример карты на сайте Apple Dev ... имеет весь исходный код, который вам нужно пройти. Они также используют пользовательский MKAnnotationView
под названием WeatherAnnotationView