У меня есть два места: один - это драйвер, а другой - наездник. У меня есть lat n long для обоих. Я хочу ударить api, когда водитель входит в зону геофунта места всадников.Как реализовать код геопространства для карты Apple ios 9
Я прошел через демонстрационный проект QKGeofenceManager: , используя это, я могу предоставить lat n long и радиус для поиска geofence.
Но проблема в том, что мне нужно обновлять местоположение драйвера каждый раз в фоновом режиме и какое условие следует применять, чтобы обратный вызов выполнялся, когда водитель входит в зону геопространства всадника. Если ap находится в фоновом режиме, обрабатывать все. Должен ли я вносить какие-либо изменения в AppDelegate
- (NSArray *)geofencesForGeofenceManager:(QKGeofenceManager *)geofenceManager
{
NSArray *fetchedObjects = [self.fetchedResultsController fetchedObjects];
NSMutableArray *geofences = [NSMutableArray arrayWithCapacity:[fetchedObjects count]];
for (NSManagedObject *object in fetchedObjects) {
NSString *identifier = [object valueForKey:@"identifier"];
CLLocationDegrees lat = [[object valueForKey:@"lat"] doubleValue];
CLLocationDegrees lon = [[object valueForKey:@"lon"] doubleValue];
CLLocationDistance radius = [[object valueForKey:@"radius"] doubleValue];
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(lat, lon);
CLCircularRegion *geofence = [[CLCircularRegion alloc] initWithCenter:center radius:radius identifier:identifier];
[geofences addObject:geofence];
}
return geofences;
}
Если вы настроили область геозонности, которую хотите контролировать, вы получите вызов обратного вызова делегата 'didEnterRegion', даже если ваше приложение находится в фоновом режиме – Paulw11
@ Paulw11, где вам нужно называть эти методы, В appdelegate или в классе, где у меня есть места –