屏幕大小适应地图上的所有的坐标

-(void)zoomToFitMapAnnotationsOK:(MKMapView*)mapView

{

    if([[mapview annotations] count] == 0)

        return;

    

    CLLocationCoordinate2D topLeftCoord;

    topLeftCoord.latitude = -90;

    topLeftCoord.longitude = 180;

    

    CLLocationCoordinate2D bottomRightCoord;

    bottomRightCoord.latitude = 90;

    bottomRightCoord.longitude = -180;

    

    for(Annotation* annotationin [mapview annotations])

    {

        topLeftCoord.longitude = fmin(topLeftCoord.longitude, annotation.coordinate.longitude);

        topLeftCoord.latitude = fmax(topLeftCoord.latitude, annotation.coordinate.latitude);

        

        bottomRightCoord.longitude = fmax(bottomRightCoord.longitude, annotation.coordinate.longitude);

        bottomRightCoord.latitude = fmin(bottomRightCoord.latitude, annotation.coordinate.latitude);

    }

    

    MKCoordinateRegion region;

    region.center.latitude = topLeftCoord.latitude - (topLeftCoord.latitude - bottomRightCoord.latitude) *0.5;

    region.center.longitude = topLeftCoord.longitude + (bottomRightCoord.longitude - topLeftCoord.longitude) *0.5;

    region.span.latitudeDelta =fabs(topLeftCoord.latitude - bottomRightCoord.latitude) *1.15; // Add a little extra space on the sides

    region.span.longitudeDelta =fabs(bottomRightCoord.longitude - topLeftCoord.longitude) *1.15; // Add a little extra space on the sides

    

    region = [mapView regionThatFits:region];

    [mapView setRegion:region animated:YES];

   

你可能感兴趣的:(Annotations)