Как узнать текущее местоположение у менеджера местоположения? - PullRequest
0 голосов
/ 23 июля 2010

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

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
    NSLog(@"lol");


    [locationManager stopUpdatingLocation];



        if (wtf == 2) {
            [[NSUserDefaults standardUserDefaults] setObject:newLocation forKey:@"old"];
            NSLog(@"wtf");
            wtf =0;


        }

    oldLocation = [[NSUserDefaults standardUserDefaults] objectForKey:@"old"];

        double rep = [oldLocation distanceFromLocation:newLocation];
        NSString *label1 = [NSString stringWithFormat:@"%2.90f",oldLocation.coordinate.latitude];
        NSString *label2 = [NSString stringWithFormat:@"%2.90f",newLocation.coordinate.latitude];

    if ([label1 isEqual:label2]) {
        NSLog(@"penis");
    }

    labelm.text = label1;
    labelkm.text = label2;


}



- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {

}

-(void)actualise{





    [locationManager startUpdatingLocation];

}


- (void)viewDidLoad {
    [super viewDidLoad];
    wtf = 2;

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];

    [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(actualise) userInfo:nil repeats:YES];
}
/*

1 Ответ

3 голосов
/ 23 июля 2010

Используйте этот код для инициализации и запуска менеджера местоположений:

locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; 
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
[locationManager startUpdatingLocation];

И реализовать didUpdateToLocation следующим образом:

- (void) locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*) oldLocation 
{
   // This will be called every time the device has any new location information. 
}

Нет необходимости использовать таймеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...