Я использую GoogleMap-IOS-1.8.1 SDK для отображения карты. Мне нужно рассчитать расстояние, пройденное пользователем. После поиска я попытаюсь использовать метод CLLocationManager -
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
double new_travelled_distance = [newLocation distanceFromLocation:oldLocation];
total_distanceTravelled_by_user += new_travelled_distance; }
и инициализация вот так-
-(void)viewDidLoad{
[super viewDidLoad];
if(!locationManager)
{
locationManager = [[CLLocationManager alloc] init];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:5.0f]; // measured in meters
[locationManager setHeadingFilter:kCLHeadingFilterNone]; // measured in degrees
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
}
[locationManager startUpdatingLocation]; }
Но это не обеспечивает точности данных, даже если я сижу на том же месте, не проехал ни одного метра, но это дает мне регулярное обновление для изменения местоположения. Должен ли я исправить свойство " CLLocationManager's DistanceFilter " или что я могу сделать для более точного расчета пройденного расстояния...?