Я провел исследование здесь, чтобы попытаться решить мою проблему, но я не могу найти решение.Я хочу, чтобы моя карта вращалась, поэтому верхняя часть моего экрана - это направление, в котором движется пользователь.Приведенный ниже код работает, но поворачивает экран в зависимости от того, с какой стороны телефон смотрит.Я хочу, чтобы карта вращалась только тогда, когда пользователь двигается в другом направлении.
Кто-нибудь решил эту проблему?
let manager = CLLocationManager()
@IBOutlet weak var map: MKMapView!
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading){
map.camera.heading = newHeading.magneticHeading
map.setCamera(map.camera, animated: true)
print("updatingHeading is called")
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[0]
let span:MKCoordinateSpan = MKCoordinateSpan.init(latitudeDelta: 0.01,longitudeDelta: 0.01)
let myLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude,location.coordinate.longitude)
let region:MKCoordinateRegion = MKCoordinateRegion.init(center: myLocation, span: span)
map.setRegion(region, animated: true)
self.map.showsUserLocation = true
let mapCamera = MKMapCamera(lookingAtCenter: myLocation, fromDistance: 5000, pitch: 30, heading: 0)
map.setCamera(mapCamera, animated: true)
}
func viewDidLoad() {
manager.startUpdatingLocation()
manager.startUpdatingHeading()
}
Есть ли что-то встроенное в swift, чтобы помочь мне?
ура