iphone получает местоположение пользователя через определенные промежутки времени - PullRequest
1 голос
/ 08 июля 2011

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

[locationManager startUpdatingLocation]

дает мне точное местоположение, но часто обновляется, что мне не нужно.Я хотел бы получать местоположение пользователя на периодической основе, т.е. каждые 2 минуты.Как мне это реализовать?

Метод, который я думал (интервал 10 секунд):

- (void)viewDidLoad { 
    self.locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate = self; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = kCLDistanceFilterNone;
    NSTimer *currentTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(theActionMethod) userInfo:nil repeats:YES];
}

и метод действия для таймера:

- (void)theActionMethod {
     [locationManager startUpdatingLocation];
}

и метод didUpdatetoLocation:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
     self.startingPoint = newLocation;
     NSString *latitudeString = [[NSString alloc] initWithFormat:@"%g\u00B0", newLocation.coordinate.latitude];
     NSLog([@"Latitude : " stringByAppendingString:latitudeString]);
     [latitudeString release];
     [locationManager stopUpdatingLocation];
}

Теперь я получаю значение, которое остается неизменным.Каждые 10 секунд местоположение обновляется, но все значения остаются неизменными (я пробовал печатать долготу, горизонтальную точность, высоту, вертикальную точность и т. Д.).Поэтому, пожалуйста, помогите мне, как получить точное (хотя бы несколько точное, потому что я знаю, что GPS не точное) местоположение пользователя каждые 2 минуты.

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

1 Ответ

2 голосов
/ 08 июля 2011

Просто сделайте то же самое, что вы уже делаете.Просто проигнорируйте метод делегата и измените theActionMethod:, чтобы использовать свойство locationManager.location, как хотите.

...