У меня есть вкладка на RootViewController.m. На вкладке есть 2 кнопки. Первая кнопка после нажатия перейдет к CorpViewcontroller, на котором есть mapView. Когда я нажимаю первую кнопку с первой попытки, карта пуста с меткой Google внизу. Я должен щелкнуть назад, затем снова нажать кнопку, после чего появится карта. Можно ли всегда показывать карту при первом нажатии кнопки?
Мой rootViewController.m для перехода на второй экран:
[self.navigationController pushViewController:self.corpController animated:YES];
Второй экран с именем corpViewController имеет следующий код:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Set Remote Location";
self.jsonData = [[NSMutableData alloc] init];
mapView.showsUserLocation = YES;
//Setup the double tap gesture for getting the remote location..
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleGesture:)];
tgr.numberOfTapsRequired = 2;
tgr.numberOfTouchesRequired = 1;
[mapView addGestureRecognizer:tgr];
mapView.delegate = self;
NSLog(@"viewDidLoad done");
}
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"viewWillAppear");
appDelegate = (NBSAppDelegate *)[[UIApplication sharedApplication] delegate];
double curLat = [appDelegate.curLat doubleValue];
MKUserLocation *userLocation = mapView.userLocation;
double miles = 10.0;
double scalingFactor = ABS( (cos(2 * M_PI * curLat / 360.0) ));
MKCoordinateSpan span;
span.latitudeDelta = miles/69.0;
span.longitudeDelta = miles/(scalingFactor * 69.0);
MKCoordinateRegion region2;
region2.span = span;
region2.center = userLocation.coordinate;
[mapView setRegion:region2 animated:YES];
NSLog(@"viewWillAppear done..");
}
Пожалуйста, порекомендуйте.
Спасибо