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

-(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];

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值