MKMapView center and zoom in

后端 未结 9 1701
一向
一向 2021-02-19 23:16

I am using MKMapView on a project and would like to center the map on a coordinate and zoom in. Just like Google maps has:

GMSCameraPosition.camera(withLatitude:         


        
相关标签:
9条回答
  • 2021-02-19 23:51

    Here is a method I use to center your map on a pre-defined CLLocation using MKCoordinateRegion.

    func centerMapOnLocation(_ location: CLLocation, mapView: MKMapView) {
        let regionRadius: CLLocationDistance = 1000
        let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate,
            regionRadius * 2.0, regionRadius * 2.0)
        mapView.setRegion(coordinateRegion, animated: true)
    }
    
    0 讨论(0)
  • 2021-02-19 23:53

    Put the below code in your CustomMapView subclass of MKMapView Call is from init

    class CustomMapView: MKMapView {
    private func zoom() {
                let dortmundLocation = CLLocation(latitude: 51.516667, longitude: 7.466667)
                let dortmunRegion = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: dortmundLocation.coordinate.latitude, longitude: dortmundLocation.coordinate.longitude), span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
                self.setRegion(dortmunRegion, animated: true)
            }
    }
    
    0 讨论(0)
  • 2021-02-19 23:54

    You'd create a MKCoordinateRegion object and set that as the region on your MKMapView object.

    MKCoordinateRegion mapRegion;   
    CLLocationCoordinate2D coordinate;
    coordinate.latitude = 0;
    coordinate.longitude = 0;    
    mapRegion.center = coordinate;
    mapRegion.span.latitudeDelta = 0.2;
    mapRegion.span.longitudeDelta = 0.2;
    
    [mapView setRegion:mapRegion animated: YES];
    
    0 讨论(0)
提交回复
热议问题