En mi aplicación para el iPhone, tengo la siguiente lógica:aplicación para el iPhone: Preguntas sobre la interacción entre CLLocationmanager y MKMapView (que muestran la ubicación del usuario actual)
inicio CLLocationManger (el usuario puede suministrar parámetros de precisión y distancia filtros a locationmanager, ya que no se requiere la mejor precisión en mi caso, 100-300 metros funcionarán bien, y me gustaría ahorrar batería en esto).
Después de que GPS LocationManager (y solo si se obtiene esta corrección), creo y visualizo el mapa. Tanto CLLocationManager como MKmapView son parte del mismo ViewController. Para mostrar la ubicación actual, configuro mapView.showsUserLocation: YES, para mostrar el punto azul. El LocationManager que comencé aún sigue funcionando, obteniendo actualizaciones de GPS.
documentación de Apple dice esto en MKMapView showsUserLocation:
Establecer esta propiedad en sí provoca la vista del mapa a utilizar el marco de Core Location para encontrar la ubicación actual. Siempre que esta propiedad sea SÍ, la vista del mapa continúa rastreando la ubicación del usuario y la actualiza periódicamente.
No hay palabras sobre qué precisión o filtro de distancia está utilizando para la ubicación actual de MKMapView. Me parece que en este punto, tengo tanto el locationManager I started y el propio locationManager de mapView, ¡actualizando las ubicaciones!
Recuerde, quería ahorrar algo de batería, configurando la precisión y el filtro de distancia? ¿Estos parámetros serán respetados por el locationManager de mapView?
Además, ¿estos dos administradores de ubicación van a estar sincronizados uno con el otro? Actualizo el mapa para centrarlo con las nuevas coordenadas de GPS que obtiene mi locationManager original. Pero también quiero que el punto azul sea visible en el centro del mapa. ¿Se actualizará también, cada vez, ya que tengo showUserLocation de mapView establecido en TRUE?
Agradecería a cualquiera que tenga pistas sobre esto.
acepta alguna respuesta ... – Jhaliya