SDK de Google Map: dibuje la polilínea correcta en el mapa de Google a medida que el dispositivo se mueve en segundo plano

Estoy usando Google Map SDK para iOS. Estoy dibujando polilíneas en modo de conducción.

Pero cuando me detengo y hago zoom en el mapa de Google, mi cursor de posición actual se mueve automáticamente y vuelvo a dibujar las polilíneas en zigzag, debido a que todas las polilíneas anteriores dibujadas se superponen y las polilíneas cambian por completo. Lo mismo sucede cuando voy en segundo plano y conduzco.

¿Podría saber por qué está sucediendo? ¿Y cómo puedo dibujar polilíneas suaves en modo de conducción y caminar al mismo tiempo en el mismo camino?

Mi código-

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
 pointString=[NSString     stringWithFormat:@"%f,%f",newLocation.coordinate.latitude,newLocation.coordinate.longitude];
CLLocationDistance kilometers = [newLocation distanceFromLocation:oldLocation] / 1000;
NSLog(@"Distance Travelled in Kilometer :%f",kilometers);

[self.points addObject:pointString];
GMSMutablePath *path = [GMSMutablePath path];
for (int i=0; i<self.points.count; i++)
{
    NSArray *latlongArray = [[self.points   objectAtIndex:i]componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@","]];

    [path addLatitude:[[latlongArray objectAtIndex:0] doubleValue] longitude:[[latlongArray objectAtIndex:1] doubleValue]];
}

if (self.points.count>2)
{
    GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
    polyline.strokeColor = [UIColor blueColor];
    polyline.strokeWidth = 5.f;
    polyline.map = mapView_;
    self.mapContainerView = mapView_;
}
}

Si permanezco en la misma posición, entonces la posición del cursor del mapa de Google se mueve automáticamente y dibuja polilíneas como esta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta