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
方法,这正是我所需要的!非常感谢。我太执着于代理的事情了,我甚至没有想到这个解决方案!。正是我需要的!非常感谢。我太执着于代理的事情了,我甚至没有想到这个解决方案!。