有没有正确的方法来设置MKUserTrackingModeFollow的区域?

时间:2013-05-11 16:10:35

标签: iphone mapkit

在我的代码中,我正在调用

- (IBAction)goToUserLocation:(id)sender {
    [mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
}

然后有这个回调

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
   // I then try to set the region in here, which doesnt always work.  Sometimes it zooms into the user location, then zooms back out to the region I specify.  Other times, it will just stay zoomed in.
}

MKUserTrackingModeFollow放大了比我想要的更多。我希望能够将其设置为缩放到我指定的区域。有没有正确的方法来执行此操作,还是设置了MKUserTrackingModeFollow的区域?

谢谢!

1 个答案:

答案 0 :(得分:0)

viewForAnnotation完全是错误的地方。当地图决定需要在地图上绘制注释时,就会调用此方法。如果有人按下按钮goToUserLocation,地图可能不需要重新绘制注释(如果已经在屏幕上)。

而是尝试在设置跟踪模式之前或动画完成之后设置缩小区域。