iPhone Desarrollo - CLLocationManager vs MapKit

votos
6

Si quiero mostrar userLocation en el mapa, y al mismo tiempo récord la ubicación del usuario, ¿es una buena idea añadir un observador a userLocation.location y registrar los lugares, o debería seguir utilizando CLLocationManager para el registro de la ubicación del usuario y el uso mapView.showUserLocation para mostrar la ubicación actual del usuario (indicador azul)? Quiero mostrar el indicador azul por defecto con el apoyo de la API MapKit.

Además, aquí hay un código de ejemplo en bruto:

- (void)viewDidLoad {
    ...

    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation];

    myMapView.showUserLocation = YES;
    [myMapView addObserver:self forKeyPath:@userLocation.location options:0 context:nil];

    ...
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    // Record the location information
    // ...
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    NSLog(@%s begins., __FUNCTION__);

    // Make sure that the location returned has the desired accuracy
    if (newLocation.horizontalAccuracy <= manager.desiredAccuracy)
        return;

    // Record the location information
    // ...
}

Bajo el capó, creo que también utiliza MKMapView CLLocationManager para obtener la ubicación actual del usuario? Por lo tanto, será este crea ningún problema porque creo tanto CLLocationManager y MapView intentarán utilizar los mismos servicios de ubicación? Habrá conflictos y falta de precisión requerido / o datos actual?

Publicado el 07/04/2010 a las 07:49
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Ver este SO entrada : CLLocationManager utiliza los mismos datos a través de todas sus instancias, por lo que no hay conflicto.

Respondida el 07/04/2010 a las 09:07
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more