O MKMapView não amplia corretamente enquanto o modo de rastreamento do usuário é MKUserTrackingModeFollowWithHeading
Eu criei um projeto de teste com poucas linhas de código e com dois componentes:MKMapView
eUIButton
. Eu marqueimapView
opção -Shows user location
. Também defini uma ação para o botão, ele amplia o mapa para a localização do usuário.
Aqui está o código do controlador:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.mapView.userTrackingMode = MKUserTrackingModeFollowWithHeading;
self.mapView.delegate = self;
}
- (IBAction)changeRegion:(id)sender {
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(self.mapView.userLocation.coordinate, 200.0f, 200.0f);
[self.mapView setRegion:region animated:YES];
}
Muito simples e direto, não é? Mas quando pressiono o botão, vejo um comportamento estranho: a visualização de mapa amplia para a região especificada e retorna ao zoom original. Qual é o problema? Como posso manter o zoom e rastrear a localização do usuário ao mesmo tempo?
Eu percebo um comportamento semelhante com o modo de rastreamento MKUserTrackingModeFollow.
P.S. Eu esqueci de mencionar que é um problema principalmente para iOS7