在我的代码中,我正在调用
- (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的区域?
谢谢!
答案 0 :(得分:0)
viewForAnnotation
完全是错误的地方。当地图决定需要在地图上绘制注释时,就会调用此方法。如果有人按下按钮goToUserLocation,地图可能不需要重新绘制注释(如果已经在屏幕上)。
而是尝试在设置跟踪模式之前或动画完成之后设置缩小区域。