我在mapView上显示用户位置:
self.mapView.showsUserLocation = YES;
用户会收到AlertView的提示,他可以选择是否允许使用当前位置。 如果他按下是,一切都很好,我不担心。
但如果他按下NO,我想放大到特定区域。
那么如何知道MKMapView是否可以使用当前位置?
我找到了解决方案,我将创建自己的CLLocationManager及其委托,以查看它是否返回拒绝错误。 但是这感觉不对,如果我不需要它,为什么要引入一个新的CLLocationManger。
还有其他方法吗?
答案 0 :(得分:3)
您不需要代表。只需使用CLLocationManager类方法authorizationStatus
:
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) {
// allowed
} else {
// not allowed
}
可能的值是:
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;