質問

私は地図上userLocationを表示したい、と同じ時間記録、ユーザのロケーションで、それはuserLocation.locationにオブザーバを追加して、位置を記録、または私はまだユーザーを記録するためのCLLocationManagerを使用する必要があるのは良いアイデアであれば場所や使用mapView.showUserLocationは、ユーザの現在位置(青いインジケーター)を表示するには?私はMapKitのAPIでサポートされているデフォルトの青色のインジケータを示したいと思います。

また、ここでは大まかなサンプルコードがあります:

- (void)viewDidLoad {
    ...

    locationManager = [[CLLocationManager alloc] init]; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
    locationManager.delegate = self; 
    [locationManager startUpdatingLocation];

    myMapView.showUserLocation = YES;
    [myMapView addObserver:self forKeyPath:@"userLocation.location" options:0 context:nil];

    ...
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    // Record the location information
    // ...
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    NSLog(@"%s begins.", __FUNCTION__);

    // Make sure that the location returned has the desired accuracy
    if (newLocation.horizontalAccuracy <= manager.desiredAccuracy)
        return;

    // Record the location information
    // ...
}
フードの下で、私はMKMapViewは、ユーザーの現在位置を取得するためにCLLocationManagerを使用していますと思いますか?私はCLLocationManagerとのMapViewの両方が同じロケーションサービスを使用しようと考えているので、だから、これはすべての問題を作成しますか?そこにいかなる紛争も、必要な/正確または現在のデータがないのでしょうか?

役に立ちましたか?

解決

この SOエントリを参照してください:CLLocationManagerは、そのすべてのインスタンス間で同じデータを使用していますので、そこにあります無紛争ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top