MKMapView obtiene sus puntos de vista pin de su método delegado mapView:viewForAnnotation: Así que hay que:
- Configure su controlador de vista como el delegado del mapa.
- Implementar mapView: viewForAnnotation: en su controlador.
Indica tu controlador como delegado
@interface MapViewController : UIViewController <MKMapViewDelegate>
Marque la interfaz con el protocolo de delegado. Esto le permite configurar el controlador como delegado de MKMapView en Interface Builder (IB). Abra el archivo .xib que contiene su mapa, haga clic con el botón derecho en MKMapView y arrastre el conector delegate
a su controlador.
Si prefiere usar el código IB, agregue self.yourMapView.delegate=self;
en el método viewDidLoad del controlador. El resultado será el mismo.
Implementar MAPview: viewForAnnotation:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// this part is boilerplate code used to create or reuse a pin annotation
static NSString *viewId = @"MKPinAnnotationView";
MKPinAnnotationView *annotationView = (MKPinAnnotationView*)
[self.mapView dequeueReusableAnnotationViewWithIdentifier:viewId];
if (annotationView == nil) {
annotationView = [[[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:viewId] autorelease];
}
// set your custom image
annotationView.image = [UIImage imageNamed:@"emoji-ghost.png"];
return annotationView;
}
¿Puede indicarme un ejemplo de cómo hacer esto? Soy nuevo en el objetivo c. Gracias – 3sl