struct ContentView: View {
   @State private var appData = ApplicationData.shared

   var body: some View {
      Map(position: $appData.cameraPos) {
         if appData.isAuthorized {
            UserAnnotation()
         }
      }
      .mapControls {
         if appData.isAuthorized {
            MapUserLocationButton()
         }
      }
      .onAppear {
         appData.requestAuthorization()
      }
   }
}