Мой MKMapView показывает мою позицию при запуске, но затем изображение никогда не «следует» за мной. Местоположение обновляется, и экран следует за мной, но исходное изображение «Местоположение пользователя» остается позади.
Вот некоторые фрагменты кода:
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
static NSString* AnnotationIdentifier = @"Annotation";
MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier];
if(!pinView)
{
MKPinAnnotationView *customPinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease];
if(annotation == mapView.userLocation) customPinView.image = [self rotate:[UIImage imageNamed:@"myCar.png"] orientation:UIImageOrientationUp];
else customPinView.image = [UIImage imageNamed:@"randomPin.png"];
customPinView.animatesDrop = NO;
customPinView.canShowCallout = YES;
return customPinView;
}
else
{
pinView.annotation = annotation;
}
return pinView;
}
-(void)locationUpdate:(CLLocation *)location
{
CLLocationCoordinate2D loc = [location coordinate];
if(isFollowing)
[myMapView setCenterCoordinate:loc];//Works
}
и в моем viewDidLoad
я звоню: [myMapView setShowsUserLocation:YES];
, который работает.
Так что в основном где-то я пренебрегаю обновлением своей позиции или, скорее всего, где я рисую новое изображение для моей текущей позиции.
Может ли кто-нибудь увидеть, что я пропустил или что-то не так сделал, чтобы он не следил за обновлениями моего местоположения?
Спасибо.