2012-02-14 29 views
2

MKMapViewから受信した位置の精度を取得する方法があるかどうか疑問に思っていました。MKMapViewの位置の精度を取得

私は次のコードがうまくいくと思ったでしょうが、そうではありません。プロパティを直接ログに記録することはできますか?

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {  

    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyBest) { 
     NSLog(@"Best"); 
    } 
    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyBestForNavigation) { 
     NSLog(@"Best for nav"); 
    } 
    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyHundredMeters) { 
     NSLog(@"100m"); 
    } 
    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyKilometer) { 
     NSLog(@"km"); 
    } 
    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyNearestTenMeters) { 
     NSLog(@"10m"); 
    } 
    if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyThreeKilometers) { 
     NSLog(@"3km"); 
    }  
} 

円通常それほど精度が明らかに送信されている小さな青い円の周りを包むことによって位置の精度を表します。

ご協力いただきありがとうございます。

+0

horizo​​ntalAccuracyが有効な結果を返さないときは、同じロジックを適用しましたが、verticalAccuracyを使用しました。キー 精度: \t -1.000000 = BEST、 \t -2.000000 = NAV、 \t 10.000000 = 10メートル、 \t 100.000000 = 100メートル、 \t 1000.000000 = 1キロ、 \t 3000.000000 = 3キロ 私が見つけたものでしたマップから得られた結果(シミュレータを使用して):-1 – csb

答えて

1

MKMapView例えばあなたがYESにshowsUserLocationを設定していることを確認してください。

マップビューが使用しているのは、「desiredAccuracy」(CLLocationManagerで設定および読み取ることができるプロパティ)ではありません。私が知る限り、その設定はMKMapViewでアクセスできません。

しかし、ブレッドクラムのサンプルアプリでは、BreadcrumbViewController.mファイルにこのコメントがある:

// Note: we are using Core Location directly to get the user location updates. 
// We could normally use MKMapView's user location update delegation but this does not work in 
// the background. Plus we want "kCLLocationAccuracyBestForNavigation" which gives us a better accuracy. 

だから、これはMKMapViewは、少なくともkCLLocationAccuracyBestForNavigationを使用していないことを意味します。

+0

はい、私はBestForNavigationに希望の精度を設定しましたが、明らかにこの精度は保証されていません。 私はCLLocationManagerを介してユーザーの現在地の正確さを得るためにユーザーの場所を取得する必要がありますか?私には少し無意味に見えます。 (より多くの記憶、力)。 – user1168056

0

このデリゲートメソッドはまったく呼び出されますか? CLLocationhorizontalAccuracyプロパティは座標のがどのように正確な現在のインスタンスを示し

+0

はい、このメソッドが呼び出されています。 – user1168056

関連する問題