Использование кнопок IBAction для масштабирования MapView

У меня есть проблема. Мое текущее местоположение отображается и центрируется в виде карты, однако область карты не увеличивается. Я попытался воспользоваться советом Роба, убрав span и region из метода didUpdateToLocation, но я, должно быть, неправильно его реализовал. Я не думаю, что он распознает мой вызов setRegion в viewDidLoad, и мои кнопки не распознаются. Пожалуйста, проверьте мой код ниже и укажите на ошибку (ы). Моя цель - иметь возможность увеличивать и уменьшать мое местоположение с помощью кнопок IBAction.

.час

- (IBAction)zoomIn:(id)sender;

- (IBAction)zoomOut:(id)sender;

.m в viewDidLoad

double miles = 0.5;

MKCoordinateSpan span;
span.latitudeDelta = miles/69.0;
span.longitudeDelta = miles/69.0;

MKCoordinateRegion region;
region.span = span;

[self.mapView setRegion:region animated:YES];

[self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];

_mapView.mapType = MKMapTypeSatellite;

.m в моем методе didUpdateToLocation.

[self.mapView setCenterCoordinate:newLocation.coordinate animated:YES];

.Увеличить:

- (IBAction)zoomIn:(id)sender 
{
    MKCoordinateSpan span;
    span.latitudeDelta = _mapView.region.span.latitudeDelta * 2;
    span.longitudeDelta = _mapView.region.span.latitudeDelta * 2;
    MKCoordinateRegion region;
    region.span = span;
    region.center = _mapView.region.center;

    [self.mapView setRegion:region animated:YES];
}

.Уменьшить :

- (IBAction)zoomOut:(id)sender
{
     MKCoordinateSpan span;
     span.latitudeDelta = _mapView.region.span.latitudeDelta / 2;
     span.longitudeDelta = _mapView.region.span.latitudeDelta / 2;
     MKCoordinateRegion region;
     region.span = span;
     region.center = _mapView.region.center;

     [self.mapView setRegion:region animated:YES];
}

Ответы на вопрос(6)

Ваш ответ на вопрос