Hallo zusammen.
Ich habe hier folgende Situation. Ich lade ein Datenfile von VATSIM herunter, welches Flugzeuge und deren Bewegung auf der Map anzeigt. Die Flieger werden angezeigt, die Daten sind überliefert, soweit so gut.
Nur habe ich das Problem, dass sich die Karte nicht aktualisiert. Nach meinem Verständnis muss dafür das File alle 180 Sekunden runtergeladen werden (VATSIM sagt maximal alle 2 Minuten), und die Karte muss nach dem erneuten download neu gerendert werden.
Hier mal mein Code:
Alles anzeigen
Und hier der code fürs rendern der Karte.
Leider ist es so, dass da nichts wiederholt wird, da auch kein entsprechender Code vorhanden ist. Habe nun viel gelesen, und meine zu verstehen, dass das über NSTimer laufen müsste. Nur leider bin ich da etwas überfordert, und wäre dankbar, wenn mir da jemand bei der Implementierung helfen könnte...
Beste Grüsse,
Stephan
Ich habe hier folgende Situation. Ich lade ein Datenfile von VATSIM herunter, welches Flugzeuge und deren Bewegung auf der Map anzeigt. Die Flieger werden angezeigt, die Daten sind überliefert, soweit so gut.
Nur habe ich das Problem, dass sich die Karte nicht aktualisiert. Nach meinem Verständnis muss dafür das File alle 180 Sekunden runtergeladen werden (VATSIM sagt maximal alle 2 Minuten), und die Karte muss nach dem erneuten download neu gerendert werden.
Hier mal mein Code:
Quellcode
- // Get the VATSIM status textfile
- NSURL *url = [NSURL URLWithString:@"http://status.vatsim.net/status.txt"];
- NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData
- timeoutInterval:0.0];
- NSOperationQueue *queue = [[NSOperationQueue alloc] init];
- [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
- {
- if (error)
- {
- // Failed to get the vatsim status file
- // show the error
- [[[UIAlertView alloc] initWithTitle:@"Error!"
- message:@"Could not retrieve the VATSIM traffic data file"
- delegate:self
- cancelButtonTitle:@"OK"
- otherButtonTitles:nil]
- show];
- NSLog(@"Error retrieving the VATSIM traffic data file");
- }
- else
- {
- _VatsimWhazzupUrls = [NSMutableArray array];
- NSString *statusFile = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
- NSArray *statusFileLines = [statusFile componentsSeparatedByString:@"\r\n"];
- for (NSString *line in statusFileLines) {
- if ([line hasPrefix:@"url0="])
- {
- NSString *whazzupUrl = [line substringFromIndex:5];
- [_VatsimWhazzupUrls addObject:whazzupUrl];
- NSLog(@"New status.txt url: %@", whazzupUrl); //Debugging
- }
- }
Und hier der code fürs rendern der Karte.
Leider ist es so, dass da nichts wiederholt wird, da auch kein entsprechender Code vorhanden ist. Habe nun viel gelesen, und meine zu verstehen, dass das über NSTimer laufen müsste. Nur leider bin ich da etwas überfordert, und wäre dankbar, wenn mir da jemand bei der Implementierung helfen könnte...
Beste Grüsse,
Stephan
MacBook Pro 16" M2 Max 32 GB RAM, - iPad Pro 12.9" M1 256 GB WiFi+Cellular - iPhone 14 Pro 256 GB - Apple Watch Ultra