iPhoneの開発 - CLLocationManager対MapKit
-
25-09-2019 - |
質問
私は地図上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は、そのすべてのインスタンス間で同じデータを使用していますので、そこにあります無紛争ます。
所属していません StackOverflow