From b72ca2dd3d882bf41620afc4ba19cb0ddffe71d1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 May 2025 17:58:04 +0200 Subject: [PATCH] feat(UIKit): create a UIKit map and use that instead of swiftui map --- .../UserInterfaceState.xcuserstate | Bin 0 -> 25396 bytes StepMap/ContentView.swift | 21 +++-- StepMap/UIKitMapView.swift | 77 ++++++++++++++++++ 3 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 StepMap.xcodeproj/project.xcworkspace/xcuserdata/oliverhnat.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 StepMap/UIKitMapView.swift diff --git a/StepMap.xcodeproj/project.xcworkspace/xcuserdata/oliverhnat.xcuserdatad/UserInterfaceState.xcuserstate b/StepMap.xcodeproj/project.xcworkspace/xcuserdata/oliverhnat.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..afcdaa20bf735eca347071b3d3e538148c4d4339 GIT binary patch literal 25396 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 O`HkI%i|&t_!~YNMzv){5 literal 0 HcmV?d00001 diff --git a/StepMap/ContentView.swift b/StepMap/ContentView.swift index a69afce..6c4452f 100644 --- a/StepMap/ContentView.swift +++ b/StepMap/ContentView.swift @@ -42,16 +42,19 @@ struct ContentView: View { // calculate only the distance between the start and end instead of getting directions for everything // if user clicks on the place, display better view and then calculate route there var body: some View { - Map(position: $position) { - UserAnnotation() - ForEach(0.. UIKitMapView { + return UIKitMapView(locationManager: locationManager) + } + + func updateUIViewController(_ uiViewController: UIKitMapView, context: Context) { + // pass + } + +}