|
GPS adatok olvasása iPhone-on
iPhone-on a GPS kiolvasása nem bonyolult, gyakorlatilag a rendszer végzi el, és ahányszor sikerül kiolvasnia az adatot, annyiszor hív meg egy eseménykezelőt.
Előszöradjuk hozzá a framework-ökhöz a CoreLocation framework-öt, majd hozzunk létre egy CLLocationManager osztályú példányt, állítsuk be a delegáltját, a pontosságát (esetünkben a legjobb pontosságot), majd indítsuk el a kiolvasást:
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLLocationAccuracyBest;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
Írjuk meg a sikeres kiolvasás eseménykezelő függvényét:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
[locationManager stopUpdatingLocation];
NSLog([at]"oldLocation : %[at]", oldLocation);
NSLog([at]"newLocation : %[at]", newLocation);
[self setMapWithLongitude:newLocation.coordinate.longitude
withLatitude:newLocation.coordinate.latitude];
}
A stopUpdatingLocation függvényt akkor hívjuk meg, ha nem szeretnénk további kiolvasást. Az oldLocation és a newLocation paraméterek tartalmazzák az előző és az aktuális adatokat, a koordinátákat, a sebességet, az irányt, stb. A setMapWith... függvény már egy általunk írt függvény, ami beállítja egy térkép közepét. Végül, írjuk meg a sikertelen kiolvasás függvényét:
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
[locationManager stopUpdatingLocation];
NSLog([at]"ERROR : %[at]", error);
}
És ezzel kész is a legegyszerűbb GPS alkalmazásunk.
  swGuru
|