我試圖在地圖視圖中顯示用戶當前的位置,但我的位置管理器功能從'CLLocation?'下載?到'CLLocation'只解開可選項;你的意思是使用'!'嗎?
這裏的第一線得到一個錯誤是我的代碼
import UIKit
import MapKit
class FirstViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var mapkitView: MKMapView!
var locationManager: CLLocationManager!
override func viewDidLoad()
{
super.viewDidLoad()
if (CLLocationManager.locationServicesEnabled())
{
locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
}
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
let location = locations.last as! CLLocation
let center = CLLocationCoordinate2DMake(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
self.mapkitView.setRegion(region, animated: true)
}
}
錯誤我'越來越是'從'CLLocation'降級了嗎?'以「CLLocation」只有解開自選;「!」嗎?你的意思是使用
上線讓位置= locations.last作爲CLLocation
我纔開始迅速的今天,所以請裸跟我 任何幫助!讚賞
你不需要'作爲!因爲數組包含'CLLocation',所以你可以說'locations.last!'但請不要。使用條件解包'如果讓位置= locations.last {'。但是,如果您閱讀了「MKMapView」的文檔,您會發現如果啓用用戶跟蹤模式,它可以爲您完成所有這些工作。 – Paulw11
謝謝我現在沒有收到任何錯誤,但是當它運行時,它只顯示沒有我的位置的地圖,爲什麼? – Will
您是否被提示允許位置訪問?您是在模擬器還是真實設備上測試?如果模擬器,你是否從菜單模擬了一個位置?如果一個真實的設備,它有一個位置修復? – Paulw11