iOS内置库:MapKit

根据中心点和放大倍数显示地图

import MapKit
        let latitude:CLLocationDegrees = 23.0602072827
        let longitude:CLLocationDegrees = 113.3918237686
        
        let delta:CLLocationDegrees = 0.002
        
        let span = MKCoordinateSpan(latitudeDelta: delta, longitudeDelta: delta)
        
        let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
        
        let region = MKCoordinateRegion(center: location, span: span)
        
        mapView.setRegion(region, animated: true)

定位用户位置

首先添加CLLocationManagerDelegate

mapView.delegate = self
        mapView.showsUserLocation = true
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        mapView.userTrackingMode = .follow
        locationManager.requestWhenInUseAuthorization()
        locationManager.startUpdatingLocation()

追踪用户位置

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        print("test")
        let userLocation = locations[0]
        
        let latitude = userLocation.coordinate.latitude
        let longitude = userLocation.coordinate.longitude
        
        let delta:CLLocationDegrees = 0.02
        
        let span = MKCoordinateSpan(latitudeDelta: delta, longitudeDelta: delta)
        
        let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
        
        let region = MKCoordinateRegion(center: location, span: span)
        
        mapView.setRegion(region, animated: true)
    }

要在模拟器的debug中的location选择其他项

你可能感兴趣的:(iOS内置库:MapKit)