Когда я нажимаю кнопку определения местоположения пользователя на 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];
}
где координата - это переменная экземпляра. Есть ли способ сделать так, чтобы приписывание координат происходило только тогда, когда правильные координаты готовы?