2013-03-09 2 views
1

Я хочу, чтобы мой mapView отображался на начальном размере (уровень масштабирования, который я определяю), когда местоположение телефона сосредоточено на карте. Как только это будет сделано, я хочу, чтобы пользователь мог изменять уровни масштабирования и панорамировать их содержимое. В следующий раз, когда они придут в приложение, я хочу повторно инициализировать карту так же, как и в предыдущее время.Как установить начальный размер в iOS UIMapkit

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

Может ли кто-нибудь указать мне на пример, который делает наилучшую практику инициализации?

ответ

0

Я решаю эту проблему следующим образом. Я думаю, что код самостоятельно объяснил

 - (void)mapView:(MKMapView *)mapView 
didUpdateUserLocation:(MKUserLocation *)userLocation 
{ 
    if (!_userLocated && 
     userLocation.coordinate.latitude != 0.0 && 
     userLocation.coordinate.longitude != 0.0) 
    { 
     MKCoordinateRegion mapRegion; 
     mapRegion.center = mapView.userLocation.coordinate; 
     mapRegion.span = MKCoordinateSpanMake(0.04, 0.04); 
     [mapView setRegion:mapRegion animated: YES]; 
     _userLocated = YES; 
    } 
} 

И не забудьте установить UIMapView делегат и Shows user location.

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