如何使用swiftui显示MKCompassButton

问题描述 投票:0回答:1

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

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

mapkit swiftui
1个回答
0
投票

实际上是显示指南针,但仅当您尝试转动地图时才显示。如果您想一直查看指南针按钮,可以在makeUIView func:

中添加自己的按钮
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) {
    }
}

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.