所以我试着做三件事。
我已经在地图上启用了userTrackingMode,并且地图随指南针旋转,但是如果我在地图上设置了MKMapCamera,指南针就不能工作了。
这是我的密码。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
mapView.setUserTrackingMode(.FollowWithHeading, animated: true)
locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didUpdateToLocation newLocation: CLLocation, fromLocation oldLocation: CLLocation) {
let userCordinate = CLLocationCoordinate2D(latitude: newLocation.coordinate.latitude, longitude: newLocation.coordinate.longitude)
let eyeCordinate = CLLocationCoordinate2D(latitude: newLocation.coordinate.latitude - 0.021078, longitude: newLocation.coordinate.longitude - 0.04078 )
let mapCamera = MKMapCamera(lookingAtCenterCoordinate: userCordinate, fromEyeCoordinate: eyeCordinate, eyeAltitude: 1400)
mapView.setCamera(mapCamera, animated: true)
print("Camera set")
}我在这里做错什么了?
发布于 2017-01-06 04:18:12
你必须用指南针来更新相机的航向。下面是我目前正在使用的一些内容:
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
self.mapView.camera.heading = newHeading.trueHeading
}https://stackoverflow.com/questions/36589837
复制相似问题