sobre functions current corelocation iphone objective-c mkmapview cllocationmanager

iphone - functions - swift mapkit current location



MKMapView y CLLocationManager (1)

CLLocationManager utiliza los mismos datos en todas sus instancias. MKMapView utiliza CLLocationManager''s datos CLLocationManager''s internamente. Dicho esto, la solución para hacer lo que quieres hacer es dejar que MKMapView haga lo suyo con respecto a showUserLocation: Al mismo tiempo, cree una instancia de CLLocationManager y su delegado.

Los mensajes de delegado le darán la ubicación de coordenadas GPS MKMapView''s pin azul de MKMapView''s . Todo estará sincronizado el uno con el otro.

Quiero usar un MKMapView para mostrar la ubicación actual del usuario utilizando el pin azul de respiración predeterminado y quiero grabar el movimiento del usuario al mismo tiempo. ¿Hay alguna forma de que pueda usar el administrador de GPS (no estoy seguro de que sea un CLLocationManager) que usa MKMapView cuando lo habilitamos para mostrar la ubicación del usuario?

Sé que puedo crear mi propio CLLocationManager. Pero esto se siente como agregar una sobrecarga a mi aplicación y me gustaría que el mapa y mi seguimiento permanezcan sincronizados.

Ya exploré las siguientes ideas sin éxito:

  • Utilice [MKMapView showUserLocation:YES] y agregue KVO en el campo userLocation . Esto no funciona y me pregunto si esto se debe al hecho de que el campo userLocation es de solo lectura.
  • Utilice [MKMapView showUserLocation:YES] , cree un MKMapViewDelegate y agregue el seguimiento cuando se solicite la vista de anotación para la ubicación del usuario. Esto no funciona, porque la vista de anotación aparentemente se solicita solo una vez.
  • Use un CLLocationManager e intente agregar el pin azul manualmente. Desafortunadamente, no encontré el pin azul en los tipos de pin disponibles, así que intenté crear una anotación de usuario manualmente sin éxito.

¿Alguien tiene alguna idea de cómo puedo lograr esto y aún así se beneficia del pin azul o es mi única solución para usar un CLLocationManager y crear mi propio pin?