当用户选择菜单选项时,我当前已将位置名称通过“ 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];
}
}
最佳答案
在viewWillAppear
中设置一个断点。在执行setRegion/regionThatFits
时,检查mapView是否为nil。如果是这样,则可能需要将代码移到viewDidAppear
。 -Phlibbo的赞美
关于ios - 首次尝试时 map 未以注释图钉为中心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13130153/