Запрос местоположения пользователя не выполнен в первый раз [iOS] - PullRequest
0 голосов
/ 05 ноября 2011

Когда я нажимаю кнопку определения местоположения пользователя на iPhone Simulator (Xcode 4.2), он возвращает нулевые значения для широты и долготы. Затем я выключаю его и снова нажимаю кнопку. Этот второй раз запрашивает правильные значения для пользовательского местоположения, которое я помещаю в Simulator -> Debug -> Location.

Я просто звоню

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

[locationManager startUpdatingLocation];

annotation = [[[MapViewAnnotation alloc] initWithTitle:@"I'm here!" andSubtitle:@"Subtitle" andCoordinate:coord] autorelease];
NSLog(@"lat: %f, long: %f", coord.latitude, coord.longitude);

[self.mapView addAnnotation:annotation];

внутри метода turnOnOffUserLocation, который вызывается при нажатии кнопки местоположения пользователя.

Я реализовал locationManager: didUpdateToLocation: fromLocation: вот так

-(void) locationManager: (CLLocationManager *)manager didUpdateToLocation: (CLLocation *) newLocation fromLocation: (CLLocation *) oldLocation
{
    coord = newLocation.coordinate;
    [locationManager stopUpdatingLocation];
}

где координата - это переменная экземпляра. Есть ли способ сделать так, чтобы приписывание координат происходило только тогда, когда правильные координаты готовы?

...