Frage

Wie kann ich zoomen Sie die Karte auf meinem userLocation automatisch in meine app? Ich habe den folgenden Code in der Karte ZOMM, aber ich muß heran auf dem userLocation und der folgende Code zoomt immer nach Afrika?

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];
War es hilfreich?

Lösung

OK i löste das Problem, mit dem folgenden Delegierten Methode:

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

Andere Tipps

vielen Dank Kumpel, das half mir sehr. Eigentlich wollte aber kann nicht stimmen, weil meine rep Ebene.

Ich fand auch, dass die Verwendung:

mapView.userLocation.location.coordinate.latitude;

gezoomt mich immer nach Afrika, und zentriert mich nie auf meinen aktuellen Standort.

Aber durch die Delegaten-Methode:

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

Ich konnte dies erfolgreich lösen. Was ich entdeckte, dass, wenn mapView.userLocation.location.coordinate.latitude verwendet wird; in der viewDidLoad Methode Auslösung nicht den richtigen Benutzer coords beim Start der Ansicht, es daher die falschen Koordinaten anzeigte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top