2014-10-13 5 views
0

Это мой код в 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); 
    } 
} 

Проблема заключается в том, что голубой тока точка местоположения перемещается неточно и не остается неподвижной. Я наблюдаю это поведение, когда я неподвижен и не двигаюсь. Я пытаюсь отфильтровать местоположения в методе , но я не знаю, почему он не работает. Пожалуйста, расскажите мне, как мне его фильтровать. Или вы думаете, что это неправильное поведение происходит из-за чего-то еще?

+0

Как добавить синюю точку на карте? – almas

ответ

0

Вы попытались уменьшить setDistanceFilter:50? По ссылке на раму это означает, что местоположение обновляется только после того, как устройство переместилось на 50 метров. Значение по умолчанию: kCLDistanceFilterNone, чтобы получать уведомления обо всех движениях.

https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html#//apple_ref/occ/instp/CLLocationManager/distanceFilter

Смежные вопросы