2011-08-18 43 views
5

Estoy intentando utilizar MKMapView. He logrado hacer aparecer el mapa del mundo. Sin embargo, me parece que no puede cambiar la región:Región del conjunto MKMapView

tengo un botón que llevará a cabo la siguiente:

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

Ahora, en mi método viewDidLoad, intento de establecer una zona de partida para ver:

CLLocationCoordinate2D startCoord; 
startCoord.latitude = 49.0; 
startCoord.longitude = -123.0; 
[mapView setRegion:MKCoordinateRegionMakeWithDistance(startCoord, 200, 200) animated:YES]; 

Cuando se carga la vista, muestra el mismo mapamundi en lugar de un área más pequeña como se esperaba. el registro de inmediato atributos de la región me da:

0,000000, 0,001417, 0,000000, 0,000000

Desplazamiento del mapa de todo un poco, cambiar el tamaño y el zoom no cambia estos valores (excepto que el segundo se remonta a 0,000000) .

Parece que mapView.region no se corresponde con lo que estoy viendo en la pantalla, pero estoy bastante seguro de que hice los enlaces de IB correctamente, los estoy viendo en este momento. ¿Cual podría ser el problema?

+0

[regionThatFits MAPview: MKCoordinateRegionMakeWithDistance (startCoord, 200, 200)]; Agregue esta línea a su código. – Harsh

Respuesta

24

que tiene que hacer

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