Создайте MKPolyline только с недавними CLLocations

Мое приложение загружает прошлые полилинии пользователя и отображает их на карте. Затем приложение начинает отслеживать, а прямая линия берется из последней обновленной координаты первой, тем самым соединяя две отдельные линии, когда они должны быть отдельными (показано здесь

Я хочу удалить эту прямую линию, поэтому я думаю, что самый простой способ – отбросить координаты, которые находятся за пределами установленного временного интервала (например, 1 минута), поэтому полилинии на карте остаются раздельными. Я не уверен, как это сделать, хотя … Я новичок, поэтому любые предложения будут очень благодарны!

Я использую этот код при загрузке прошлой полилинии

(IBAction)didClickLoadCoordinates:(id)sender { // get a reference to the appDelegate so you can access the global managedObjectContext AppDelegate *appDelegate = [UIApplication sharedApplication].delegate; NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Route"]; NSError *error; id results = [appDelegate.managedObjectContext executeFetchRequest:request error:&error]; if ([results count]) { polyLine = (Route *)(results[0]); NSArray *coordinates = polyLine.coordinates; int ct = 0; for (CLLocation *loc in coordinates) { NSLog(@"location %d: %@", ct++, loc); } // this copies the array to your mutableArray _locationsArray = [coordinates mutableCopy]; } NSInteger numberOfSteps = _locationsArray.count; //convert to coordinates array to construct the polyline CLLocationCoordinate2D clCoordinates[numberOfSteps]; for (NSInteger index = 0; index < numberOfSteps; index++) { CLLocation *location = [_locationsArray objectAtIndex:index]; CLLocationCoordinate2D coordinate2 = location.coordinate; clCoordinates[index] = coordinate2; } MKPolyline *routeLine = [MKPolyline polylineWithCoordinates:clCoordinates count:numberOfSteps]; [_mapView addOverlay:routeLine]; - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ 

И этот код просто нормально обновляет cllocations и делает полилинию

 //get the latest location CLLocation *currentLocation = [locations lastObject]; //get latest location coordinates CLLocationDegrees latitude = currentLocation.coordinate.latitude; CLLocationDegrees longitude = currentLocation.coordinate.longitude; CLLocationCoordinate2D locationCoordinates = CLLocationCoordinate2DMake(latitude, longitude); //zoom map to show users location MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(locationCoordinates, 2000, 2000); MKCoordinateRegion adjustedRegion = [_mapView regionThatFits:viewRegion]; [_mapView setRegion:adjustedRegion animated:YES]; //store latest location in stored track array [_locationsArray addObject:currentLocation]; //create cllocationcoordinates to use for construction of polyline NSInteger numberOfSteps = _locationsArray.count; CLLocationCoordinate2D coordinates[numberOfSteps]; for (NSInteger index = 0; index < numberOfSteps; index++) { CLLocation *location = [_locationsArray objectAtIndex:index]; CLLocationCoordinate2D coordinate2 = location.coordinate; coordinates[index] = coordinate2; } MKPolyline *routeLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps]; [_mapView addOverlay:routeLine]; NSLog(@"%@", _locationsArray); 

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.