需要提供的資訊包含:
2-1. 以得知目前使用者位置的經緯度並追蹤為例:
把MKMapView拉進ViewController中,並進行連結,這邊命名為myMap。
加入函式庫MapKit 、CoreLocation,並勾選右方屬性版中的User Location。
在info.list新增Privacy-Location When In Use Usage Description,並填入說明。
產生CLLocationManger並要求授權。
抓取使用者座標:
let myLocation = locationManager.location?.coordinate
print(myLocation?.latitude)
print(myLocation?.longitude)
//直向縮放範圍
let latRange:CLLocationDegrees = 0.01
//橫向縮放
let lonRange:CLLocationDegrees = 0.01
//總縮放範圍
let range:MKCoordinateSpan = MKCoordinateSpanMake(latRange, lonRange)
//以座標與縮放範圍來顯示地圖
if myLocation != nil{
let appearRegion:MKCoordinateRegion = MKCoordinateRegionMake(myLocation!, range)
//在地圖上顯示
myMap.setRegion(appearRegion, animated: true)
}
顯示結果:
2-2. 追蹤並更新使用者位置:
locationManager.delegate = self //設定ViewController為代理人
locationManager.desiredAccuracy = kCLLocationAccuracyBest //準確度設定
locationManager.activityType = .automotiveNavigation//移動的模式
locationManager.startUpdatingLocation() //開始更新位置
locationManager.stopUpdatingLocation()
當畫面消失時停止更新位置。