vestibular tratamiento rotatorio oculares nistagmo movimientos horizontal causas anormales ios map mkmapview

ios - rotatorio - nistagmo tratamiento



Vista de anotaciĆ³n personalizada para la ubicaciĆ³n del usuario que no mueve la vista del mapa (1)

Sí, puede tener una vista personalizada para la ubicación del usuario.

Desafortunadamente, es más difícil de implementar de lo que debería ser, aunque la documentación del método de delegado viewForAnnotation afirma que puede proporcionar su propia vista si la clase de anotación es MKUserLocation , la vista personalizada no se mueve con la ubicación del usuario. De hecho, cuando se devuelve una vista personalizada para MKUserLocation , la vista de mapa deja de actualizar por completo la ubicación del usuario (el método delegado didUpdateUserLocation la vista de mapa ya no se dispara). Creo que esto es un error.

Una solución alternativa es utilizar CLLocationManager y una anotación personalizada ...


Asegúrese de que showsUserLocation sea NO o esté desmarcado en la vista del mapa.

Declare propiedades para un CLLocationManager y una anotación personalizada utilizando una clase personalizada que implemente el protocolo MKAnnotation (o podría simplemente usar la clase genérica MKPointAnnotation ).

En viewDidLoad u otro lugar apropiado, cree el CLLocationManager , establezca su delegate y llame a startUpdatingLocation .

En el método de delegado didUpdateToLocation del administrador de didUpdateToLocation ( no en el método delegado didUpdateUserLocation la vista de mapa), cree o actualice su anotación personalizada:

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { if (myUserLocAnnot == nil) { self.myUserLocAnnot = [[[MyUserLocClass alloc] init] autorelease]; //remove the autorelease if using ARC myUserLocAnnot.title = @"You are here"; myUserLocAnnot.coordinate = newLocation.coordinate; [mapView addAnnotation:myUserLocAnnot]; } else { myUserLocAnnot.coordinate = newLocation.coordinate; } }

Finalmente, en el método de delegado viewForAnnotation la vista de mapa, devolvería una vista de anotación personalizada si la anotación es su anotación de ubicación de usuario personalizada.

¿Podemos tener una vista de anotación personalizada para la ubicación actual de los usuarios en iOS?

Necesito eliminar el punto azul (con círculos) con mi propia vista personalizada (digamos un alfiler de ping). ¿Es posible hacer esto?

Si lo hacemos, ¿se mueve este pin a una nueva ubicación cuando hay un cambio en la ubicación del usuario? ¿O necesitamos manejarlo programáticamente?

Observé que si usamos un punto azul predeterminado para la ubicación actual del usuario, entonces se actualiza en el mapa cuando hay un cambio en la ubicación del usuario.

Solo quiero saber si esto se puede hacer con nuestra propia vista personalizada.