This is because you change the location every time the user's location changes. You have to do this only once, for example.
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { if (self.centerToUserLocation) { MKCoordinateRegion mapRegion; mapRegion.center = self.mapView.userLocation.coordinate; mapRegion.span = MKCoordinateSpanMake(0.5, 0.5);
Where centerToUserLocation is something like @property (nonatomic) BOOL centerToUserLocation
source share