Ha azt akarom megmutatni userLocation a térképen, és egyúttal rögzíti a felhasználó tartózkodási helyét, ez egy jó ötlet, hogy adjunk egy megfigyelő userLocation.location és rögzíti azokat a helyeket, vagy kell még használni CLLocationManager rögzítésére szolgáló felhasználói elhelyezkedése és használata, mapView.showUserLocation megmutatni a felhasználó aktuális tartózkodási helyét (kék jelzés)? Meg akarom mutatni az alapértelmezett kék indikátor által támogatott MapKit API.
Továbbá, itt egy durva minta kód:
- (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
// ...
}
A motorháztető alatt, azt hiszem MKMapView is használ CLLocationManager hogy a felhasználó aktuális tartózkodási helyét? Szóval, ez okoz problémát, mert úgy vélem mind CLLocationManager és MapView megpróbálja használni ugyanazon a helyen szolgáltatásokat? Lesznek konfliktusok és nem állnak rendelkezésre pontos / kötelező vagy az aktuális adatokat?













