MKMapView не обновляет изображение позиции пользователя

Мой 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]; который работает.

Так что в основном где-то я пренебрегаю обновлением своей позиции или, что наиболее вероятно, где я рисую новое изображение для моей текущей позиции.

Может ли кто-нибудь увидеть, чего я не вижу или что-то не так, чтобы он не следил за обновлениями моего местоположения?

Благодарю.

Неясно, если это проблема, но метод viewForAnnotation выглядит неправильно.

Изображение аннотации устанавливается только при создании аннотационного представления. Если представление повторно используется, свойство аннотации обновляется, но не изображение. Возможно, что повторно используемый вид предназначен для аннотации другого типа, требующего другого изображения.

Метод должен выглядеть примерно так:

 -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation { static NSString* AnnotationIdentifier = @"Annotation"; MKPinAnnotationView *pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier]; if (!pinView) { pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease]; pinView.animatesDrop = NO; pinView.canShowCallout = YES; } else { pinView.annotation = annotation; } if (annotation == mapView.userLocation) pinView.image = [self rotate:[UIImage imageNamed:@"myCar.png"] orientation:UIImageOrientationUp]; else pinView.image = [UIImage imageNamed:@"randomPin.png"]; return pinView; } 
  • MKMapView - rendererForOverlay не вызывается
  • Как я могу реализовать пользовательский инструмент поиска чертежей, используемый в приложении Realtor iPad?
  • MKMapView setRegion to Small Area приводит к сбою загрузки спутникового изображения
  • Текущее местоположение не отображается в iOS Simulator
  • iPhone: всплывающее окно MKAnnotation?
  • MapView с локальным поиском
  • делает MKAnnotationView буфер своей входной очереди?
  • карта с фотографиями, такими как Instagram Photo Map
  • Центр MKMapView неверен
  • Пользовательский вид подсказки карты скрывается при нажатии
  • Камера iOS MapKit сбрасывает значения заголовка между 6 и 354
  • Давайте будем гением компьютера.