Je tente de calculer la distance totale parcourue et de la transmettre au View Controller, mais les résultats ne sont pas conformes aux attentes. Code est la suivante:distanceFromLocation - La distance totale n'est pas calculée correctement
MyCLController.m
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
validLocation = YES;
if (!newLocation)
{
validLocation = NO;
}
if (newLocation.horizontalAccuracy < 0)
{
validLocation = NO;
}
// Filter out points that are out of order
NSTimeInterval secondsSinceLastPoint = -[newLocation.timestamp timeIntervalSinceNow];
if (secondsSinceLastPoint < 0)
{
validLocation = NO;
}
if (validLocation == YES)
{
[self.delegate locationChange:newLocation :oldLocation];
}
NewWorkoutViewController.m
-(void)locationChange:(CLLocation *)newLocation:(CLLocation *)oldLocation
{
CLLocationDistance meters = [newLocation distanceFromLocation:oldLocation];
currentSpeed = ([newLocation speed] * 3600)/1000;
totalDistance = (totalDistance + meters)/1000;
totalDistanceMeters = totalDistanceMeters + meters;
avgSpeed = totalDistance/counterInt;
[speedLbl1 setText:[NSString stringWithFormat:@"%.3f", currentSpeed]];
[distanceLbl1 setText:[NSString stringWithFormat:@"%.3f", totalDistance]];
}
Le problème est avec mon cumulLa, il ne semble pas être à ajouter à chaque fois, c'est comme si je l'écrasais, quand je fais un test dans la voiture, je peux voir des valeurs de 10/20 mètres entre les coordonnées, donc cela indique que la fonction remoteFromLocation semble fonctionner.
Quelqu'un at-il des idées?
Cordialement, Stephen