我使用以下代码跟踪用户位置,并在我的加载时首次请求权限:
```javascript navigator.geolocation.getCurrentPosition(success, error); ``````success```和```error```是回调函数。
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
如果用户在第一次询问时拒绝了,但后来通过在我的应用程序中启用配置选项更改了主意,我该如何再次询问?例如,我有一个用于自动检测用户位置的开关,当他们启用它时,我正在尝试做到这一点:
@IBAction func gpsChanged(sender: UISwitch) {
// Request permission for auto geolocation if applicable
if sender.on {
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
}
}
但是这段代码似乎没有做任何事情。我希望它能再次询问用户是否允许应用程序跟踪用户的位置。这可能吗?
case
是.notDetermined
,则可以使用CLLocationManager.requestForWhenInUseAuthorization()
函数(因为它只能使用一次,而.notDetermined
表示用户尚未决定是否允许您的应用程序使用位置权限)。 - HirdayGupta