2011-08-18 15 views
5

Sto tentando di utilizzare MKMapView. Sono riuscito a far apparire la mappa del mondo. Tuttavia, non riesco a cambiare la regione:MKMapView set region

Ho un pulsante che eseguirà questo:

NSLog(@"%f, %f, %f, %f, 
mapView.region.center.latitude, 
mapView.region.center.longitude, 
mapView.region.span.latitudeDelta, 
mapView.region.span.longitudeDelta); 

Ora, nel mio metodo viewDidLoad, tento di impostare una regione di partenza per visualizzare:

Quando la vista viene caricata, mostra la stessa mappa del mondo anziché un'area minore come previsto. Immediatamente la registrazione attributi della regione mi dà:

0.000000, 0,001,417 mila, 0.000000, 0.000000

Spostamento della mappa un po 'intorno, il ridimensionamento e lo zoom non modificare questi valori (tranne che il secondo risale al 0.000000) .

Sembrerebbe che mapView.region non corrisponda a quello che vedo sullo schermo, ma sono abbastanza sicuro di aver corretto i collegamenti IB, li sto guardando proprio ora. Quale potrebbe essere il problema?

+0

[regionThatFits MapView: MKCoordinateRegionMakeWithDistance (startCoord, 200, 200)]; Aggiungi questa linea al tuo codice. – Harsh

risposta

24

Hai bisogno di fare

CLLocationCoordinate2D startCoord = CLLocationCoordinate2DMake(49, -123); 
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200)]; 
[mapView setRegion:adjustedRegion animated:YES];