Damit man in einer App die Längen- und Breitengrade auslesen kann muss als erstes das CoreLocation.framework in das Probjekt integriert werden.
Die Delegate Klasse kann dann z.B. in der viewDidLoad Methode gesetzt werden:
- (void)viewDidLoad {
CLLocationManager *locationManager;
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
Um Änderungen der Geschwindigkeit und Position auszulesen muss das Interface CLLocationManagerDelegate implementiert werden. Anschließend muss folgende Methode definiert werden.
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
CLLocationCoordinate2D here = newLocation.coordinate;
NSLog(@"Position: %f %f ", here.latitude, here.longitude);
NSLog(@"Geschwindigkeit: %f", newLocation.speed);
}
Zu beachten ist noch, dass das ganze nur auf dem IPhone funktioniert. Im Simulator habe ich keine Möglichkeit gefunden eine Bewegung zu simulieren.
Wie man das ganze auf einem Android Gerät umsetzt habe ich hier beschrieben.