SwiftUI:在地图视图上更改地图类型?

Posted

技术标签:

【中文标题】SwiftUI:在地图视图上更改地图类型?【英文标题】:SwiftUI: change map type on map view? 【发布时间】:2021-08-10 21:55:44 【问题描述】:

我正在添加这样的地图视图:

            Map(coordinateRegion: $coordinateRegion)
                                .frame(height: 400, alignment: .center)
                                .cornerRadius(5)
                                .shadow(radius: 4)

地图显示如下:

我想允许用户更改地图类型(卫星等)。

有没有办法在 SwiftUI 中设置地图类型?

【问题讨论】:

您需要在“UIViewRepresentable”中使用“UIKit MapView”。遗憾的是,今年的地图没有任何更新。 是的,我刚刚在网上阅读了一堆东西,我认为必须是这种情况......即使是像丢针这样简单的事情也会因为缺乏适当的手势定位支持而变得一团糟SwiftUI...谢谢 【参考方案1】:

至于现在,我担心您必须使用来访问 mapType

MKMapView.appearance().mapType = .satellite // 或任何其他地图类型

您可以只在出现时使用它。 我不确定是否有更好的方法,但至少它有效:)

现在需要 UIKit Mapview 来获得更详细的规范。

【讨论】:

以上是关于SwiftUI:在地图视图上更改地图类型?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 SwiftUI 不能正确显示两个视图?

SwiftUI:在视图层次结构中自动来回导航

Swiftui + 核心位置:地图无法以用户为中心

如何在 SwiftUI 的新地图视图中制作可点击的图钉?

SwiftUI 中的地图和滚动视图

SwiftUI NavigationView 和 NavigationLink 更改自定义视图的布局