Пользовательские аннотации карты SwiftUI не отображаются постоянно во время панорамирования и масштабирования.

Настраивать:

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

      struct MapViewSWUI: View {
    @Binding var show_map_modal: Bool
    @ObservedObject var mapViewModel: MapViewModel
    @State private var region: MKCoordinateRegion
    // …  

var body: some View {   
  // …  
        let placesForBuyLocationNames = mapViewModel.placesForBuyLocationNames()
        let annotations = placesForBuyLocationNames.map { Annotation(name: $0.name, coordinate: $0.coordinate) }
        Map(coordinateRegion: $region,
                interactionModes: .all,
                showsUserLocation: true,
                annotationItems: annotations) { annotation in
            MapAnnotation(coordinate: annotation.coordinate, anchorPoint: CGPoint(x: 0.5, y: 1)) {
                GeometryReader { geo in
                    AnnotationView(annotation: annotation,
                                                 region: region, 
                                                 mapViewModel: mapViewModel, 
                                                 annotationDragged: $annotationDragged)
                    .onAppear {
                        mapViewModel.annotationNamesAndOrigins[annotation.name] = geo.frame(in: .global).origin
                    }
                }
                .frame(width: 30, height: 30)
            }
        }
}

Проблема:

Когда отображаются аннотации, а карта панорамируется или масштабируется, местоположение пользователя отображается постоянно во время операции. Однако это не так для пользовательских аннотаций:
Симулятор: Пользовательские аннотации мигают во время операции, как будто они неоднократно удаляются и снова добавляются на карту.
Устройство: Пользовательские аннотации исчезают во время операции. Когда операция завершена, аннотации снова появляются.

Вопрос:

Как мне изменить код, чтобы пользовательские аннотации отображались постоянно, как местоположение пользователя?

0 ответов

Другие вопросы по тегам