He estado jugando con MKMapView y tratando de entender cómo funciona el sistema MKMapViewDelegate. Hasta ahora no he tenido suerte en conseguir llamar a didAddAnnotationViews cuando se agrega el marcador de ubicación actual.didAddAnnotationViews no funciona en MKMapView
He configurado el delegado de mi aplicación para implementar MKMapViewDelegate, tengo un Outlet en MapView en mi xib y he establecido que la propiedad de delegado de MapView sea propia, como en la instancia delegada de la aplicación. Implementé didAddAnnotationViews en el delegado de la aplicación que simplemente NSLogue todas las llamadas como se muestra a continuación. El mapa está configurado para mostrar la ubicación actual que lo hace y agrega la anotación de pin azul al inicio, pero por alguna razón didAddAnnotationViews no está siendo golpeado.
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views{
NSLog(@"Annotation added!");
}
¿Alguna idea de lo que me podría haber perdido?
Gracias, ¿estás seguro de eso? Me pregunté si este era el caso, pero he seguido el tutorial de WhereAmI en el libro de Big Nerd Ranch sobre programación de iPhone y afirma claramente que se llamará a didAddAnnotationViews cuando se agregue el punto azul a la ubicación actual. De hecho, proporciona un bloque de código para usar en didAddAnnotationsView para configurar la región actual para hacer zoom en su ubicación actual. Eso parece una gran equivocación en la parte de los autores. – BenBtg
En realidad, un poco de Google ha confirmado que tienes razón y Apple cambió el comportamiento en IOS 4.0. Aparentemente ahora necesito usar didUpdateUserLocation. – BenBtg