Как установить начальный размер в iOS UIMapkit

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

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

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

1 ответ

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

      - (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,

Другие вопросы по тегам