2011-11-24 12 views
15

Wyświetlam current location w MKMapView przy użyciu showUserLocation włączeń. Chcę również wyśrodkować mapview na bieżącą lokalizację użytkownika, a także na powiększoną mapę lokalizacji. Pomóż mi w tej sprawie, ponieważ nie otrzymuję pomocy od innych podobnych pytań na temat stackoverflow.Jak wyśrodkować moją bieżącą lokalizację w MKMapView?

Moje kodu jest poniżej:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [mapView setMapType:MKMapTypeStandard]; 
    [mapView setZoomEnabled:YES]; 
    [mapView setScrollEnabled:YES]; 
    [mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES]; 
    [mapView setDelegate:self]; 
} 

Odpowiedz

46

do centrowania na lokalizacji użytkownika, można użyć następującego kodu:

[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES]; 

do powiększania na specjalnych miejscach, należy zbadać, w jaki sposób regiony (MKCoordinateRegion) są zliczane i pracują, policz swoje wartości dla regionu i wyświetlaj je, używając połączenia:

[mapView setRegion:myRegion animated:YES]; 

Ten sample WorldCities pokazuje podstawy wyświetlania regionu.

+0

Jestem również doint to samo, ale doesnot pracy .... Wszelkie inne sugestie jeśli to możliwe .... z góry dzięki ... – vipul

+0

może można dodawać Twój kod w pytaniu, więc łatwo będzie zgadnąć, co jest nie tak =) – Denis

+0

Zaktualizowałem mój kod, a to nie będzie wyśrodkowane na mapView do currentLocation. Proszę to sprawdzić i mi pomóc .... z góry dziękuję. – vipul

2
MKCoordinateRegion region; 
    MKCoordinateSpan span; 
    span.latitudeDelta = 0.2;  // 0.0 is min value u van provide for zooming 
    span.longitudeDelta= 0.2; 

    CLLocationCoordinate2D location = [self addressLocation]; 
    region.span=span; 
    region.center =location;  // to locate to the center 
    if(addAnnotation != nil) { 
     [mapView removeAnnotation:addAnnotation]; 
     [addAnnotation release]; 
     addAnnotation = nil; 
    } 
    addAnnotation = [[AddressANnotation alloc] initWithCoordinate:location]; 
    [mapView addAnnotation:addAnnotation]; 
    [mapView setRegion:region animated:TRUE]; 
    [mapView regionThatFits:region]; 

To pomogło mi pokazać pozycję w centrum widoku mapy.

0

dla MKMapView

self.mapView.showsUserLocation = YES; 
self.mapView.userTrackingMode = MKUserTrackingModeFollow; 
0
-(void) removeZoom:(float)deltaValue 
{ 
    MKCoordinateRegion region; 
    region.center.latitude = self.locationManager.location.coordinate.latitude; 
    region.center.longitude = self.locationManager.location.coordinate.longitude; 

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.5]; 
    region.span.latitudeDelta = deltaValue; 
    region.span.longitudeDelta = deltaValue; 
    region = [mapViewSelf regionThatFits:region]; 
    [mapViewSelf setRegion:region animated:YES]; 
    [UIView commitAnimations]; 

} 
Powiązane problemy