1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@interface FPanGestureRecognizer ()

@property (nonatomic, assign) FTrackingMapView *mapView;

@end

@implementation FPanGestureRecognizer

- (id)initWithMapView:(FTrackingMapView *)mapView {
  if ((self = [super init])) {
    self.cancelsTouchesInView = NO;
    self.mapView = mapView;
  }

  return self;
}

- (BOOL)canBePreventedByGestureRecognizer:
    (UIGestureRecognizer *)gestureRecognizer {
  return NO;
}

- (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer {
  return NO;
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
  [super touchesMoved:touches withEvent:event];

  CLLocation *location = self.mapView.userLocation.location;
  if (self.mapView.trackingUserLocation && location != nil) {
    [self.mapView setCenterCoordinate:location.coordinate];
  }
}

@synthesize mapView;

@end