• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

Genauigkeit von CLRegions für Geo-Fencing

hamtho2

Erdapfel
Registriert
22.07.13
Beiträge
1
Hallo zusammen,

ich versuche mich gerade an dem Geo-Fencing Feature von iOS mit Regions.
Was mich gerade total verwundert ist, daß ich eine Notification beim Betreten bzw. Verlassen einer Region erst ab 100m minimal erhalte.
Ganz unabhängig davon, wie gross ich den Radius setze. Wenn ich den Radius z.B. auf 150m setze, dann erfolgt der Eintritt auch bei ca. 150m.
Aber 20m/50m/80m etc. werden allesamt immer nur bei 100m getriggert.
Gibt es einen Weg wie ich die Genauigkeit noch kleiner Einstellen kann? Ich habe bereits mit den "kCLLocationAccuracy" gearbeitet, aber das scheint ihn nicht besonders zu beeindrucken.

Derzeitig arbeite ich mit folgenden Konfigurationen:

- (void) initializeLocationManager
{
// Check to ensure location services are enabled
if(![CLLocationManager locationServicesEnabled]) {
[self showAlertWithMessage:@"You need to enable location services to use this app."];
return;
}

if(![CLLocationManager regionMonitoringAvailable]) {
[self showAlertWithMessage:@"This app requires region monitoring features which are unavailable on this device."];
return;
}

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
self.locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
}

- (void) setupGeoFence:(Station*)station
{
CLLocationCoordinate2D centerCoordinate = CLLocationCoordinate2DMake([station.gpsPosition.latitude doubleValue], [station.gpsPosition.longitude doubleValue]);
CLRegion *geofence = [[CLRegion alloc] initCircularRegionWithCenter:centerCoordinate radius:[range doubleValue] identifier:station.name];
[self.locationManager startMonitoringForRegion:geofence desiredAccuracy:kCLLocationAccuracyBest];
}

Wer hat hier schon Erfahrungen und kann mir etwas aushelfen?

Danke
Hamtho