2012-02-24 3 views
0

Я использовал следующий код, чтобы сделать снимок на карту MKMapView.MKCoordinateRegion не отображается на карте по нужному адресу

float zoom=1.5; 
MKCoordinateRegion region; 
//Set Zoom level using Span 
MKCoordinateSpan span; 
region.center=mapView.region.center; 
span.latitudeDelta=mapView.region.span.latitudeDelta *zoom; 
span.longitudeDelta=mapView.region.span.longitudeDelta *zoom; 
region.span=span; 
[mapView setRegion:region animated:TRUE]; 

Но в случае, когда масштаб = 1,1, увеличение = 1.3, или масштабирования = 1,5, карта показывает тот же regian во всех 3 случаях. Этот регион выглядит так же, как при масштабировании = 2.

Как я могу отобразить карту, чтобы отображалась правильная область в каждом из этих случаев?

+0

См. [Этот ответ] (http://stackoverflow.com/a/4800042/467105) – Anna

+0

спасибо! Этот вопрос такой же, как у меня. – Michael1230661

ответ

1

Попробуйте это один ....

region.span.longitudeDelta = 0.01f; 
region.span.latitudeDelta = 0.01f; 
[mapView setRegion:region animated:YES]; 

Вы можете установить span.longitudeDelta и span.latitudeDelta как, сколько и хотите, чтобы увеличить в или из ... А также инициализировать MKCoordinateRegion ..

MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } } 

Набор делегатом MAPview

[mapView setDelegate:self]; 
+0

MKCoordinateRegion region = {{0.0, 0.0}, {0.0, 0.0}}; region.center = mapView.region.center; float f1 = mapView.region.span.latitudeDelta; float f2 = mapView.region.span.longitudeDelta; f1 = f1 * 1,1; f2 = f2 * 1,1; region.span.latitudeDelta = f1; region.span.longitudeDelta = f2; [mapView setRegion: region animated: TRUE]; – Michael1230661

+0

Вы имеете в виду, что мне нужно написать этот код? в этом случае будет такая же ситуация, чтобы это не помогло. В моем случае «я» уже является делегатом mapView. – Michael1230661

1

Попробуйте это

MKCoordinateSpan span; 
//You can set span for how much Zoom to be display 
span.latitudeDelta=.005; 
span.longitudeDelta=.005; 

//set Region to be display on MKMapView 
MKCoordinateRegion cordinateRegion; 
cordinateRegion.center=latAndLongLocation.coordinate; 
//latAndLongLocation coordinates to be display 
cordinateRegion.span=span; 

[mapView setRegion:cordinateRegion animated:YES]; 
//mapView MkMapView 

Это определенно сработает.

Смежные вопросы