Domanda

come posso ingrandire la mappa sul mio userLocation automaticamente nella mia app? Ho il seguente codice per ZOMM nella mappa, ma devo ingrandire sul userLocation e il seguente codice ingrandisce sempre in Africa?

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];
È stato utile?

Soluzione

OK ho risolto il problema, con il seguente metodo delegato:

-(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];
        }
    }
}

Altri suggerimenti

Grazie mille compagno, questo mi ha aiutato molto. Veramente voluto votare, ma non posso a causa del mio livello di rep.

Ho anche scoperto che utilizzando:

mapView.userLocation.location.coordinate.latitude;

mi ha sempre ingrandita in Africa, e non mi ha mai centrato sulla mia posizione attuale.

Ma usando il metodo delegato:

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

Sono stato in grado di risolvere questo successo. Quello che ho scoperto è che quando si utilizza mapView.userLocation.location.coordinate.latitude; nel metodo viewDidLoad non è stato innescando le coordinate utente corretti all'avvio della vista, quindi è stato visualizzando le coordinate sbagliate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top