Как мал это изменение, которое вы ожидали?
Возможно, вам нужно установить максимальную точность и вычислить смещение по методу делегата.
Настройте диспетчер местоположения, чтобы дать вам лучшее.
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDistanceFilter:0.0];
А затем на делегат метода:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
// Calculate the distance between the two locations
CGFloat distance = [newLocation distanceFromLocation:oldLocation];
if (distance >= MIN_DISPLACEMENT) {
// Do something
} else {
// Do something
}
}
Чтобы получить более точные данные от менеджера местоположения, установите правильные ключи для UIRequiredDeviceCapabilities (определения местоположения услуг, GPS) на Info.plist.
Точность GPS не точная - не могли бы вы вместо этого использовать акселерометр? – Justin
Насколько вы хотите точности? GPS делает хорошую работу по поиску пользователя, когда точность местоположения установлена наилучшим образом. –
@ Justin, как я могу использовать Accelerometer для определения расстояния? –