Я хочу, чтобы местоположение пользователя отображалось как пользовательское изображение (не синий маяк). Я также хочу, чтобы всякий раз, когда пользовательское местоположение изменяло свои координаты, это пользовательское изображение поворачивалось соответственно, чтобы представить курс пользователя. Чтобы добиться этого, я реализовал код ниже. Он вызывается с типом аннотации userLocation при запуске приложения, так что пользовательское изображение местоположения пользователя отображается нормально. Проблема заключается в том, что когда я моделирую изменение координат местоположения пользователя, метод mapView делегата (_: viewFor :) никогда не вызывается снова с типом аннотации userLocation, поэтому изображение никогда не поворачивается. (Примечание. UIImage rotateImage (by :) - это пользовательский метод).
Есть ли какие-либо средства для вызова mapView (_: viewFor :), чтобы я мог обновлять аннотацию изображения для местоположения пользователя, когда местоположение пользователя изменяется? Спасибо за любую помощь.
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if annotation.isEqual(mapView.userLocation) {
// Annotation image for user location
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: nil)
annotationView.image = UIImage(named: "UserLocationImage.png")?.rotateImage(by: currentCourse)
return annotationView
}
}