Objective c 如何知道是否允许MKMapView使用当前位置?

Objective c 如何知道是否允许MKMapView使用当前位置?,objective-c,location,mkmapview,cllocationmanager,showuserlocation,Objective C,Location,Mkmapview,Cllocationmanager,Showuserlocation,我正在地图视图上显示用户位置,其中包含: self.mapView.showsUserLocation=YES 用户将收到AlertView提示,在该提示中,他可以选择是否允许使用当前位置。 如果他按“是”,一切都好,我不担心 但如果他按“否”,我想放大到一个特定的区域 那么,我如何知道是否允许MKMapView使用当前位置呢 我找到了一个解决方案,我将创建自己的CLLocationManager及其委托,以查看它是否返回拒绝错误。 但这感觉不太对,如果我不需要,为什么要引入一个新的CLLoca

我正在地图视图上显示用户位置,其中包含:

self.mapView.showsUserLocation=YES

用户将收到AlertView提示,在该提示中,他可以选择是否允许使用当前位置。 如果他按“是”,一切都好,我不担心

但如果他按“否”,我想放大到一个特定的区域

那么,我如何知道是否允许MKMapView使用当前位置呢

我找到了一个解决方案,我将创建自己的CLLocationManager及其委托,以查看它是否返回拒绝错误。 但这感觉不太对,如果我不需要,为什么要引入一个新的CLLocationManager呢


难道没有别的办法吗?

你不需要委托人。只需使用CLLocationManager类方法
authorizationStatus

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
    // allowed
} else {
    // not allowed
}
可能的值为:

typedef enum {
   kCLAuthorizationStatusNotDetermined = 0,
   kCLAuthorizationStatusRestricted,
   kCLAuthorizationStatusDenied,
   kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;

你不需要委托人。只需使用CLLocationManager类方法
authorizationStatus

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
    // allowed
} else {
    // not allowed
}
可能的值为:

typedef enum {
   kCLAuthorizationStatusNotDetermined = 0,
   kCLAuthorizationStatusRestricted,
   kCLAuthorizationStatusDenied,
   kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;

您是否检查了
CLLocationManager类参考
?有几行文字告诉您应该使用CLLocationManager类的
authorizationStatus
方法您是否检查了
CLLocationManager类参考
?有几行文字告诉您应该使用CLLocationManager类的
authorizationStatus
方法,这正是我所需要的!非常感谢。我太执着于代理的事情了,我甚至没有想到这个解决方案!。正是我需要的!非常感谢。我太执着于代理的事情了,我甚至没有想到这个解决方案!。