Zoom in a MKMapView programmatically

后端 未结 9 1760
逝去的感伤
逝去的感伤 2020-12-04 13:27

I\'m using a MKMapView inside an iPhone app. When I click a button the zoom level must increase. This is my first approach:

MKCoordinateRegion z         


        
9条回答
  •  情歌与酒
    2020-12-04 14:07

    Just cleaning up dkdarel's answer

    // delta is the zoom factor
    // 2 will zoom out x2
    // .5 will zoom in by x2
    - (void)zoomMap:(MKMapView*)mapView byDelta:(float) delta {
    
        MKCoordinateRegion region = mapView.region;
        MKCoordinateSpan span = mapView.region.span;
        span.latitudeDelta*=delta;
        span.longitudeDelta*=delta;
        region.span=span;
        [mapView setRegion:region animated:YES];
    
    }
    

    Swift Code:

    func zoomMap(byFactor delta: Double) {
        var region: MKCoordinateRegion = self.mapView.region
        var span: MKCoordinateSpan = mapView.region.span
        span.latitudeDelta *= delta
        span.longitudeDelta *= delta
        region.span = span
        mapView.setRegion(region, animated: true)
    }
    

提交回复
热议问题