0

私はmapViewにユーザーの位置を表示しています:

self.mapView.showsUserLocation = YES;

ユーザーは、現在の場所の使用を許可するかどうかを選択できる AlertView を求められます。彼が「はい」を押した場合、すべて問題ありません。私はそれについて心配しません。

しかし、彼がいいえを押すと、特定の地域にズームしたいと思います。

では、MKMapView が現在の場所の使用を許可されているかどうかを知るにはどうすればよいでしょうか?

独自の CLLocationManager とそのデリゲートを作成して、拒否されたエラーが返されるかどうかを確認するソリューションを見つけました。しかし、これはまったく正しくありません。必要がないのに、なぜ新しい CLLocationManger を導入する必要があるのでしょうか。

他の方法はありませんか?

4

1 に答える 1

3

代理人は必要ありません。CLLocationManager クラス メソッドを使用するだけauthorizationStatusです。

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

可能な値は次のとおりです。

typedef enum {
   kCLAuthorizationStatusNotDetermined = 0,
   kCLAuthorizationStatusRestricted,
   kCLAuthorizationStatusDenied,
   kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;
于 2012-12-17T10:33:26.587 に答える