2013-09-18 4 views
0

Мне нужна помощь.locationManager: didUpdateToLocation не называется

Когда я открываю Карты, мне нужно grep мое текущее местоположение и отправить его на сервер, чтобы получить от него все остальные булавки. (Как то, что находится рядом).

Я поставил: не

- (void)viewDidLoad 
{ 
    // if location services are on 
    if([CLLocationManager locationServicesEnabled]) 
    { 
     // if location services are restricted do nothing 
     if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied || 
      [CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted) 
     { 
      NSLog(@"Location tracking disabled."); 
     } 
     else 
     { 
      NSLog(@"all ok"); 
      self.locationMeneger = [[CLLocationManager alloc] init]; 
      self.locationMeneger.delegate = self; 
      [self.locationMeneger setDistanceFilter:kCLDistanceFilterNone]; 
      [self.locationMeneger setDesiredAccuracy:kCLLocationAccuracyHundredMeters]; 
      [self.locationMeneger startUpdatingLocation]; 
     } 
    } 

    [super viewDidLoad]; 
} 

Мой журнал печати наш "все в порядке", так место Meneger можно инициализировать, но ни один из делегатов

// for iOS 6 and more 
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ 
    NSLog(@"je updatan"); 
    [NSThread detachNewThreadSelector:@selector(NearByPinOnMap) toTarget:self withObject:nil]; 
} 
// for iOS 5 and lass 
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(NSArray *)locations fromLocation:(CLLocation *)oldLocation{ 
    NSLog(@"nov update"); 
    [NSThread detachNewThreadSelector:@selector(NearByPinOnMap) toTarget:self withObject:nil]; 
} 
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ 
    NSLog(@"error maps : %@", error.description); 
} 

почти никогда не называют. Там было несколько раз, что этот didUpdateToLocation был вызван, но без изменений в следующий раз этого не произошло.

Может ли кто-нибудь мне помочь.

ответ

0

Попробуйте установить желаемый параметрAccuracy. Вы можете прочитать об этом здесь: apple docs. Вы также можете проверить, соответствует ли ваш класс протоколу CLLocationManagerDelegate

+0

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

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