• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

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