Pergunta

Como posso ampliar o mapa no meu userLocation automaticamente em meu aplicativo? Eu tenho o seguinte código para zomm no mapa, mas devo zoom na userLocation e as seguintes zooms código sempre para a África?

MKCoordinateRegion zoomIn = mapView.region;
    zoomIn.span.latitudeDelta *= 0.2;
    zoomIn.span.longitudeDelta *= 0.2;
    zoomIn.center.latitude = mapView.userLocation.location.coordinate.latitude;
    zoomIn.center.longitude = mapView.userLocation.location.coordinate.longitude;
    [mapView setRegion:zoomIn animated:YES];
Foi útil?

Solução

OK i resolvido o problema, com a seguinte delegado Método:

-(void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views{
    for(MKAnnotationView *annotationView in views) {
        if(annotationView.annotation == mv.userLocation){
            MKCoordinateRegion region;
            MKCoordinateSpan span;

            span.latitudeDelta=0.9;
            span.longitudeDelta=0.9;

            CLLocationCoordinate2D location =mv.userLocation.coordinate;

            location = mv.userLocation.location.coordinate;

            region.span = span;
            region.center = location;
            [mv setRegion:region animated:TRUE];
            [mv regionThatFits:region];
        }
    }
}

Outras dicas

muito obrigado companheiro, isso me ajudou muito. Realmente queria voto, mas não posso por causa do meu nível de rep.

Eu também achei que usando:

mapView.userLocation.location.coordinate.latitude;

sempre me ampliada para África, e nunca me centrado no meu local atual.

Mas usando o método delegado:

-(void)mapView:(MKMapView *)myMapView didAddAnnotationViews:(NSArray *)views {

Eu era capaz de resolver isso com sucesso. O que eu descobri é que ao usar mapView.userLocation.location.coordinate.latitude; no método viewDidLoad não estava provocando as coordenadas de usuário correto na inicialização do ponto de vista, portanto, estava exibindo as coordenadas erradas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top