Je trouve que souvent en utilisant CLLocationManager:Filtrer les mauvais endroits de CLLocationManager
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.distanceFilter = 10;
et de méthode déléguée:
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
je vais obtenir des résultats qui ressemblent à la ci-dessous, même sans se déplacer du tout. Je sais que le service de localisation n'est pas toujours précis à 100% et qu'il est soumis aux conditions du réseau, mais existe-t-il un moyen de filtrer les mauvais emplacements afin que je ne finisse pas avec des points aléatoires comme celui-ci?
Merci pour l'astuce sur 'startMonitoringSignificantLocationChanges'. Je vais passer à cela et faire des tests. – soleil
J'ai essayé de passer à 'startMonitoringSignificantLocationChanges', mais je ne reçois aucune mise à jour de localisation. Devez-vous faire quoi que ce soit d'autre pour que iOS pense qu'un changement d'emplacement est important? – soleil
ceci est mon code pour initialiser mon LocationManager '- (CLLocationManager *) locationManager' ' '{ ' if (_locationManager!) { ' _locationManager = [[CLLocationManager de alloc] init]; _locationManager.delegate = self; _locationManager.desiredAccuracy = kCLLocationAccuracyBest; if ([_locationManager répondToSelector: @selecteur (requestWhenInUseAuthorization)]) { [_locationManager requestWhenInUseAuthorization]; } [_locationManager startMonitoringSignificantLocationChanges]; } return _locationManager; } – dizzyboy