第一次尝试时,地图不会以注释引脚为中心

时间:2012-10-29 21:48:01

标签: ios annotations mkmapview

当用户选择菜单选项时,我当前通过“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];
  }
}

1 个答案:

答案 0 :(得分:1)

viewWillAppear中设置断点。当您执行setRegion/regionThatFits时,检查mapView是否为零。如果是,您可能需要将代码移至viewDidAppear。 - Phlibbo的赞美