如何使用 swiftui 显示 MKCompassButton

Pet*_* F. 1 mapkit swiftui

我正在使用 swiftui,我想显示指南针按钮。我的代码的地图部分源自本教程:https : //www.morningswiftui.com/blog/build-mapview-app-with-swiftui

我查看了示例代码以在地图上显示指南针,但我找不到可以使用 swiftui 代码的示例。

Але*_*кий 6

实际上指南针正在显示,但仅当您尝试转动地图时才显示。如果你想一直看到指南针按钮,你可以在makeUIViewfunc 中添加你自己的按钮:

struct RootMapView: View {
    var body: some View {
        MapView()
    }
}

struct MapView: UIViewRepresentable {
    func makeUIView(context: Context) -> MKMapView {
        let map = MKMapView()
        map.showsCompass = false // hides current compass, which shows only on map turning

        let compassBtn = MKCompassButton(mapView: map)
        compassBtn.frame.origin = CGPoint(x: 20, y: 20) // you may use GeometryReader to replace it's position
        compassBtn.compassVisibility = .visible // compass will always be on map
        map.addSubview(compassBtn)

        return map
    }

    func updateUIView(_ uiView: MKMapView, context: Context) {
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明