Ich habe zwei Fragen. (Zuerst) Ich versuche es überall dort zu machen, wo sich das iPhone bewegt, eine Alarmbox erscheint und zeigt den Längengrad an, wo sie waren, und den Breitengrad wo sie jetzt sind. Dies dient Testzwecken für einen Teil eines größeren Projekts, an dem ich gerade arbeite. Problem ist, dass keine Alarmbox auftaucht. Ich dachte, dass, wenn der Standortmanager einen neuen Standort bekommt, er den Stellvertreter auslöst, der den Standort in einer Alarmbox anzeigen sollte, aber überhaupt nichts passiert.Kann mir jemand helfen mit CLLocationManager?
Hier ist, wie ich die Einstellung der Location Manager auf:
- (void)viewDidLoad
{
locationManager =[[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
}
Hier ist der Delegat:
-(void) locationmanager: (CLLocationManager *) manager
didUpdateToLocation: (CLLocation *) newLocation
fromLocation: (CLLocation *) oldLocation
{
float oldlat;
float oldlng;
float lat;
float lng;
NSDate *oldtime;
NSDate *newtime;
lat = newLocation.coordinate.latitude;
lng = newLocation.coordinate.longitude;
newtime = newLocation.timestamp;
oldlat = oldLocation.coordinate.latitude;
oldlng = oldLocation.coordinate.longitude;
oldtime = oldLocation.timestamp;
NSNumber *oldlong = [NSNumber numberWithFloat:oldlng];
NSNumber *newlat = [NSNumber numberWithFloat:lat];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:oldlong
message:newlat
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Submit",nil];
[alert show];
(zweitens), wenn ich zufrieden bin, dass ich in der Lage bin zu verfolgen das neue und alte latlng, weiß jemand den besten Weg, um die Daten zu speichern? Ich habe sqlite, Kerndaten recherchiert und nur Arrays verwendet, aber ich habe immer noch Zweifel, was die beste Möglichkeit ist, lat, lng, timestamp und username zu speichern, die wahrscheinlich ein paar hundert Mal am Tag für etwa 200 generiert werden Benutzer und senden Sie es dann an einen Server.
Ich weiß, das war eine lange Frage, aber jede Einsicht würde sehr geschätzt werden!
Ich würde Core-Datum für Ihre zweite Frage verwenden. Über dein erstes - was sind die Werte der Variablen? insbesondere, newLocation.coordinate und oldLocation.coordinate? – TommyG
Um ehrlich zu sein, bin ich mir nicht sicher, ob Sie die Warnung im Delegate-Objekt anzeigen können ... haben Sie versucht, die UIAlertView in Ihrem übergeordneten Objekt darzustellen? – TommyG
Auch die Warnung hat einen Titel und eine Nachricht, die eine Zeichenfolge benötigt. Du hast NSNumbers drin. Ich bin überrascht, dass das überhaupt kompilieren würde. –