我希望我的程序在 map 上显示用户位置。它起初工作然后随机停止所以我添加了下面的代码来尝试修复它但我遇到了问题。提前致谢!
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()
}
最佳答案
你需要打电话,
locationManager.requestAlwaysAuthorization()
还有
locationManager.requestWhenInUseAuthorization()
在前台也能顺利使用位置!!!
并且您不需要两个实例来调用 startupdatinglocation
。留一个。您应该使用实例或全局变量而不是本地变量来获取整个范围内的位置。
更新:
您必须在 info.plist
中设置两个键,例如 NSLocationAlwaysUsageDescription
和 NSLocationWhenInUseUsageDescription
及其使用说明。
关于ios - 位置权限检查和授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726873/