У меня есть view1
, в котором есть button1
, когда пользователь нажимает на button 1
, отслеживается текущее местоположение пользователя и отображается второе представление view2
, где пользователь устанавливает свои параметры поиска и нажмите на button2
, когда нажмете button2
, появится представление view3
, в котором отображается карта.
Теперь моя проблема в том, что если пользователь подождет хотя бы 1 минуту, прежде чем нажать button2
, карта будет отображаться довольно хорошо, в противном случае карта не будет отображаться.
Мой соответствующий код для view2
:
- (void)viewDidLoad {
//when this view is loaded, the user current location is tracked
self.locationManager=[[CLLocationManager alloc]init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
#pragma mark-
#pragma mark CLLocationManagerDelegate
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
float latitude=newLocation.coordinate.latitude;
float longitude=newLocation.coordinate.longitude;
TopStationAppDelegate *topStation=(TopStationAppDelegate *)[[UIApplication sharedApplication]delegate];
topStation.latitudeUtilisateur=latitude;
topStation.longitudeUtilisateur=longitude;
NSLog(@"%f",latitude);
NSLog(@"%f",longitude);
[locationManager stopUpdatingLocation];
}
мой код в view3
, который создает проблему:
-(void)viewWillAppear:(BOOL)animated
{
//here is the problem:
//if the user wait 1 minute before coming to this view, I mean before clicking on button2
//this view shows the map pretty well, otherwise the map is not displayed and I got brown //screen
[mapView removeAnnotations:mapView.annotations];
[mapView setMapType:MKMapTypeStandard];
TopStationAppDelegate *topStation=(TopStationAppDelegate *)[[UIApplication sharedApplication]delegate];
latitudeOfUserLocation=topStation.latitudeUtilisateur;
longitudeOfUserLocation=topStation.longitudeUtilisateur;
}
Почему я должен ждать 1 минуту, как я могу решить это?