該mapView有一個屬性:direction
,你可以設置。更改此屬性的值會立即更新地圖視圖。如果要爲更改設置動畫,請使用-setDirection:animated:
方法。或者你可以用下面的方法:
func setCenter(_ centerCoordinate: CLLocationCoordinate2D, zoomLevel: Double, direction: CLLocationDirection, animated: Bool)
哪裏方向
的地圖,相對於真北度數測量的新方向。
您可以使用CLLocationManager上的startUpdatingHeading方法定期調用此函數,從北方計算偏移量。如果你需要的話,這個方法還有另一個版本的完成處理程序。
**編輯**
您可以使用下面的代碼來提取手機面對的方向。它在這裏打印到控制檯(自然從一個真實的設備),但你可以採取數字(度),並在代碼中確定設備指向北方多遠。
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
var locationManager:CLLocationManager!
override func viewDidLoad() {
super.viewDidLoad()
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.startUpdatingHeading()
}
func locationManager(_ manager: CLLocationManager, didUpdateHeading heading: CLHeading) {
print(heading.magneticHeading)
}
}
我現在去看牙醫,但會在一個小時左右回來看看。
什麼會旋轉? – Starlord
地圖本身,所以如果地圖上的某個點相對於用戶的位置朝北,例如,地圖將旋轉,因此無論用戶/手機處於何種方向,該點總是實際指向北方。 – Dan