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