iPhone Entwicklung - CLLocationManager vs. MapKit

stimmen
6

Wenn ich will userLocation auf der Karte zeigen und zugleich Rekord Standort des Benutzers, ist es eine gute Idee, einen Beobachter zu userLocation.location und notieren Sie die Standorte hinzuzufügen, oder soll ich noch CLLocationManager verwende zum Aufzeichnen von Benutzern Lage und Nutzung mapView.showUserLocation zeigt den aktuellen Standort des Benutzers (blaue Anzeige)? Ich mag die Standard-blaue LED-Anzeige durch die MapKit API unterstützt zeigen.

Auch hier ist ein grober Beispielcode:

- (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
    // ...
}

Unter der Haube, ich denke, MKMapView verwendet CLLocationManager auch Benutzer die aktuelle Lage zu bekommen? So wird, erstellen Sie diese Probleme, weil ich beide CLLocationManager und MapView glauben versuchen gleichen Standort-Dienste zu benutzen? Wird es Konflikte und der Mangel an genau sein / erforderlich oder aktuelle Daten?

Veröffentlicht am 07/04/2010 um 07:49
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Sehen Sie diese SO Eintrag : CLLocationManager verwendet die gleichen Daten in allen seinen Instanzen, so gibt es keinen Konflikt.

Beantwortet am 07/04/2010 um 09:07
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more