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

相關問題