Я использую структуру CoreLocation
, чтобы вычислить среднюю скорость, а расстояние и расстояние.
При первом отправленном обновлении CoreLocation
отображаются отрицательные значения скорости и пройденного расстояния.Как я могу это исправить?
Скорость равна locationController.locationManager.location.speed
, где locationController
содержит мой CoreLocation
делегат.Расстояние рассчитывается путем взятия старого местоположения и нового местоположения и расчета расстояния.
//Distance
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
// make sure the old and new coordinates are different
if ((oldLocation.coordinate.latitude != newLocation.coordinate.latitude) &&
(oldLocation.coordinate.longitude != newLocation.coordinate.longitude))
{
mDistance = [newLocation distanceFromLocation:oldLocation];
}
}