вы пытались использовать этот код для центрирования карты:
[mapView setCenterCoordinate:location animated:YES];
Я не уверен, почему он будет работать на iPhone 4, а не на других, но этот код я использую для настройки региона:
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(location, 0.03, 0.03);
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];
[mapView setRegion:adjustedRegion animated:YES];
Попробуйте так и посмотрите, как это работает. То, как вы делаете метод regionThatFits, на самом деле это не то, как этот метод используется. Вы можете попробовать закомментировать последнюю строку вашего кода, это не должно иметь никакого значения. В любом случае, попробуйте метод, который я только что дал, и дайте мне знать, если у вас есть какие-либо вопросы.