【发布时间】:2016-12-08 04:31:00
【问题描述】:
我希望我的程序在地图上显示用户的位置。它起初工作,然后随机停止,所以我添加了下面的代码来尝试修复它,但我遇到了问题。提前致谢!
override func viewDidLoad()
{
super.viewDidLoad()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
if CLLocationManager.locationServicesEnabled()
{
let status: CLAuthorizationStatus = CLLocationManager.authorizationStatus()
if status == CLAuthorizationStatus.NotDetermined
{
locationManager.requestAlwaysAuthorization()
}
} else {
print("locationServices disenabled")
}
locationManager.startUpdatingLocation()
self.locationManager.startUpdatingLocation()
self.mapView.showsUserLocation = true
mapView.delegate = self
centerMapOnLocation(initialLocation)
addBoundry()
}
【问题讨论】:
-
你有什么问题?
-
我们需要有关您所面临问题的更多信息。我还注意到有 2 次调用 'locationManager' 的 'startUpdatingLocation' 方法。
-
你在info.plist中设置了必填字段吗?
-
这是我得到的错误:“尝试在不提示位置授权的情况下启动 MapKit 位置更新。必须首先调用 -[CLLocationManager requestWhenInUseAuthorization] 或 -[CLLocationManager requestAlwaysAuthorization]。”
标签: ios swift permissions location mapkit