CLLocationManager возвращает ноль для местонахождения в Xcode - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь получить текущее имя местоположения, используя coreloaction Framework в XCode через объект CLlocationManager. Когда я тестирую свое приложение на моем iPod touch, CLlocationManager дает значение для некоторых мест, но возвращает [null] для многих мест. как я могу исправить эту проблему? помогите мне следующее кодирование.

-(void)viewDidLoad
{
       self.locationManager = [[CLLocationManager alloc] init] ;
        self.locationManager.delegate = self;
        self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
        [self.locationManager startUpdatingLocation];     
}

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    CLGeocoder *geoCoder = [[CLGeocoder alloc]init];

    [geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error)
     {
         if(error)  
         {
             NSLog(@"error:%@",[error localizedDescription ]);
             NSLog(@"Check your inetconnection");
         }
         _placedetail=nil;
         self.placedetail=[placemarks objectAtIndex:0];

        self.Label.text=self.placedetail.locality;
     }];
    [manager stopUpdatingLocation];//for stop process update
}

1 Ответ

1 голос
/ 09 ноября 2015

Этот вопрос давно.но я добавлю свое решение здесь для дальнейшего использования.

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

Пример: если локальность недоступна, перейдите с административной областью, например, с большей опцией.

...