Использование кнопок 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];
}