Zoom MKMapView para ajustar los pines de anotación?

Estoy usando MKMapView y he agregado varios pines de anotación al mapa sobre un área de 5-10 kilómetros. Cuando ejecuto la aplicación, mi mapa comienza a alejarse para mostrar el mundo entero, ¿cuál es la mejor manera de hacer zoom para que los pines se ajusten a la vista?

EDITAR: Mi pensamiento inicial sería usar MKCoordinateRegionMake y calcular el centro de coordenadas, longitudeDelta y latitudeDelta a partir de mis anotaciones. Estoy bastante seguro de que esto funcionará, pero solo quería comprobar que no me faltaba nada obvio.

Código agregado, por cierto: FGLocation es una clase que se ajusta aMKAnnotation, locationFake es unNSMutableArray de estos objetos Los comentarios son siempre bienvenidos ...

- (MKCoordinateRegion)regionFromLocations {
    CLLocationCoordinate2D upper = [[locationFake objectAtIndex:0] coordinate];
    CLLocationCoordinate2D lower = [[locationFake objectAtIndex:0] coordinate];

    // FIND LIMITS
    for(FGLocation *eachLocation in locationFake) {
        if([eachLocation coordinate].latitude > upper.latitude) upper.latitude = [eachLocation coordinate].latitude;
        if([eachLocation coordinate].latitude < lower.latitude) lower.latitude = [eachLocation coordinate].latitude;
        if([eachLocation coordinate].longitude > upper.longitude) upper.longitude = [eachLocation coordinate].longitude;
        if([eachLocation coordinate].longitude < lower.longitude) lower.longitude = [eachLocation coordinate].longitude;
    }

    // FIND REGION
    MKCoordinateSpan locationSpan;
    locationSpan.latitudeDelta = upper.latitude - lower.latitude;
    locationSpan.longitudeDelta = upper.longitude - lower.longitude;
    CLLocationCoordinate2D locationCenter;
    locationCenter.latitude = (upper.latitude + lower.latitude) / 2;
    locationCenter.longitude = (upper.longitude + lower.longitude) / 2;

    MKCoordinateRegion region = MKCoordinateRegionMake(locationCenter, locationSpan);
    return region;
}

Respuestas a la pregunta(24)

Su respuesta a la pregunta