gpt4 book ai didi

ios - 如果我使用 MKMapCamera,Compass 将无法在 MKMapView 上工作

转载 作者:行者123 更新时间:2023-11-28 06:45:23 24 4
gpt4 key购买 nike

所以我正在尝试做 3 件事。

  1. 有一张显示我所在位置的 map 。
  2. map 应略微倾斜以提供 3d 的感觉;就像我们用 2 根手指在苹果 map 上上下滚动一样。
  3. 使用罗盘旋转 map 。

我在 map 上启用了 userTrackingMode, map 随指南针旋转,但如果我在 map 上设置 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")

}

我在这里做错了什么?

最佳答案

您必须使用指南针更新相机的航向。这是我目前正在使用的东西:

func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
self.mapView.camera.heading = newHeading.trueHeading
}

关于ios - 如果我使用 MKMapCamera,Compass 将无法在 MKMapView 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36589837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com