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 campouserLocation
. Esto no funciona y me pregunto si esto se debe al hecho de que el campouserLocation
es de solo lectura. - Utilice
[MKMapView showUserLocation:YES]
, cree unMKMapViewDelegate
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?