Создается mapView, но его кадр не задан, и он не добавляется как подпредставление представления контроллера представления.
Измените строку alloc + init (измените размеры по мере необходимости):
mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
Затем перед строкой executeSelector добавьте следующее:
[self.view addSubview:mapView];
Обратите внимание, однако, что лучше использовать метод делегата MKMapView didUpdateUserLocation
для масштабирования до местоположения пользователя, а не предполагатьместоположение пользователя будет доступно через некоторый произвольный фиксированный интервал, например, 1,25 секунды.
Например, удалите строку executeSelector и реализуйте didUpdateUserLocation:
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
[self startupZoom];
}
Единственная возможная проблема, связанная с использованием метода didUpdateUserLocation, заключается в том, чтоон будет вызываться каждый раз, когда изменяется местоположение пользователя, поэтому, если вы хотите увеличить масштаб только один раз при запуске, вам нужно добавить флаг BOOL ivar и проверить / установить его соответствующим образом.