ユーザーがメニューオプションを選択すると、現在、場所の名前が「stringToDisplay」を介してマップビューに送信され、ピンが期待どおりに地図上にドロップしますが、最初の試行でピンが中央に配置されたり、場所がズームされたりしません。最初の試みの後のすべての試みは完璧です。最初の試行で地図を自分の場所にズームするにはどうすればよいですか?ご意見をいただければ幸いです。
viewWillAppearに複数のIFステートメントが含まれていますが、この問題が発生する場所の一例については、以下を参照してください。
-(void)viewWillAppear:(BOOL)animated
{
CLLocationCoordinate2D location;
NSLog(@"self.stringToDisplay = %@", self.stringToDisplay);
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta=0.1;
span.longitudeDelta=0.1;
region.span=span;
region.center=location;
[mapView setRegion:region animated:TRUE];
[mapView regionThatFits:region];
if ([self.stringToDisplay isEqualToString: @"August First Bakery & Café"])
{
location.latitude = (double) 44.475486;
location.longitude = (double) -73.2172641;
MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"August First Bakery & Café" andCoordinate:location];
[self.mapView addAnnotation:newAnnotation];
[mapView setCenterCoordinate:location animated:YES];
}
}