0

每次我启动应用程序时,第一次看到地图都会生成一个默认地图,该地图总是缩小而没有注释。当我返回导航控制器并返回地图时,它现在会显示带有相应引脚的正确区域。我用来添加的代码

- (void) zoomIn {
    mapView.showsUserLocation = YES;

    CLLocationCoordinate2D annotation;
    annotation.latitude = 47.640071;
    annotation.longitude = -122.129598;

    MKPointAnnotation *annoPoint = [[MKPointAnnotation alloc] init];
    annoPoint.coordinate = annotation;
    annoPoint.title = @"name";
    [mapView addAnnotation:annoPoint];

    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(annotation, 500, 500);

    [mapView setRegion:region animated:YES];
}

我从 viewDidLoad 中调用了这段代码,但它只有在我从导航控制器返回主页并UIViewController再次输入后才能工作。

有谁知道问题是什么或以前见过?

4

2 回答 2

0
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    // this delegate fonction is called when the userlocation is updated
    // try to move your code here
}

你也有

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
}

希望这可以帮助

于 2012-12-11T19:00:51.860 回答
0

向我们展示您的viewDidLoad函数,您可能调用zoomIn得太早了,可能在您的 MKMapView 初始化之前。

于 2012-12-11T19:29:27.473 回答