title: Dynamically draw RMShape according to user location
body: <p>I'm creating an array representing a path made by the user by adding the user's current location to an array. Each time a new point is being added, I remove the previous annotation, and add a new one. then the new path is being drawn on a mapView with <code>RMShape</code> and <code>layerForAnnotation</code>. The problem is that every time the <code>RMSape</code> layer is being drawn, it has like a slide transition. </p>
  
  <p>I have 2 questions:</p>
  
  <ol>
  <li>How do I fix this "slide" effect, and draw a continuous line representing the user's path smoothly?</li>
  <li>Is there a better way for tracing user's path?</li>
  </ol>
  
  <p>.</p>
  
  <pre><code>-(void)mapView:(RMMapView *)mapView didUpdateUserLocation:(RMUserLocation *)userLocation
  {
  
          if (path) {
              [self.mapView removeAnnotation:path];
          }
  
          path = [[RMShapeAnnotation alloc] initWithMapView:mapView points:points];
  
          [mapView addAnnotation:path];
  
  }
  
  
  
  - (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
  {
  
      if (annotation.isUserLocationAnnotation) {
          return nil;
      }
  
      if ([annotation isKindOfClass:[RMShapeAnnotation class]]) {
  
          for (int i = 0; i &lt; points.count; i++) {
              CLLocation *location = points[i];
              [self.path addLineToCoordinate:location.coordinate];
  
           }
  
          return self.path;
  
      }
  
      return nil;
  }
  </code></pre>