当用户选择菜单选项时,我当前通过“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];
}
}
答案 0 :(得分:1)
在viewWillAppear
中设置断点。当您执行setRegion/regionThatFits
时,检查mapView是否为零。如果是,您可能需要将代码移至viewDidAppear
。 - Phlibbo的赞美