Это мой код в viewDidLoad
:CLLocation: Синий текущее местоположение точка движется неожиданно
_locationManager = [[CLLocationManager alloc] init];
[_locationManager setDelegate:self];
if ([[UIDevice currentDevice].systemVersion hasPrefix:@"8"]) {
[_locationManager requestAlwaysAuthorization];
}
[_locationManager startMonitoringSignificantLocationChanges];
[_locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
[_locationManager setDistanceFilter:50];
[_locationManager startUpdatingLocation];
[_locationManager startUpdatingHeading];
Это как мой didUpdateLocations
метод выглядит следующим образом:
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation* newLocation = [locations lastObject];
CLLocation* location = [locations lastObject];
NSDate* eventDate = location.timestamp;
NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
if (abs(howRecent) < 50.0 && newLocation.horizontalAccuracy > 0) {
// If the event is recent, do something with it.
NSLog(@"latitude %+.6f, longitude %+.6f\n",
location.coordinate.latitude,
location.coordinate.longitude);
}
}
Проблема заключается в том, что голубой тока точка местоположения перемещается неточно и не остается неподвижной. Я наблюдаю это поведение, когда я неподвижен и не двигаюсь. Я пытаюсь отфильтровать местоположения в методе , но я не знаю, почему он не работает. Пожалуйста, расскажите мне, как мне его фильтровать. Или вы думаете, что это неправильное поведение происходит из-за чего-то еще?
Как добавить синюю точку на карте? – almas