0

我显示上一个MapView用户位置与:如何知道MKMapView是否被允许使用当前位置?

self.mapView.showsUserLocation = YES;

用户得到提示AlertView在那里,他可以选择是否允许使用当前位置或没有。 如果他按是的,一切都好,我不担心。

但是,如果他按下否,我想缩放到特定区域。

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

我找到了解决方案,我将创建自己的CLLocationManager及其委托来查看它是否返回被拒绝的错误。 但是这并不完全正确,如果我不需要它,为什么要引入一个新的CLLocationManger。

难道还有其他方法吗?

+1

你检查'CLLocationManager类Reference'?有几行文字说明您应该使用我需要的CLLocationManager类 – Stas

回答

2

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

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) { 
    // allowed 
} else { 
    // not allowed 
} 

可能的值是:

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

的'authorizationStatus'方法!谢谢!我对这个代表性的东西如此固定,我甚至没有考虑过这个解决方案! – bllubbor