zl程序教程

您现在的位置是:首页 >  其它

当前栏目

SwiftUI 地图大全之适用 MapType地图类型切换 Standard Hybrid satellite

类型 大全 切换 地图 SwiftUI 适用 STANDARD hybrid
2023-09-11 14:18:30 时间

项目运行效果

MapType地图类型切换

解决方案

SwiftUI 地图视图功能强大,但如果您需要做的不仅仅是显示地图或注释,那么您将不得不研究基于 UIKit 的地图。
在 UIViewRepresentable 的帮助下,SwiftUI 使得将地图从 UIKit 移植到 SwiftUI 世界变得非常容易。
在本文中,我们将使用 UIKit 和 UIViewRepresentable 构建地图以添加对 MapType 的支持。
让我们开始吧。
我们将从为 UIViewRepresentable 创建新结构开始,我们称之为 UIKitMapView。

struct UIKitMapView: UIViewRepresentable {
    
}

这个结构需要两个属性,一个地图中心的区域和一个 MapType:

struct UIKitMapView: UIViewRepresentable {
    let region: MKCoordinateRegion
    let mapType: MKMapType
}

UIViewRepresentable 协议需要两个函数的一致性,如下所示

struct UIKitMapView: UIViewRepresentable {
    let region: MKCoordinateRegion
    let mapType: MKMapType
    
    func makeUIView(context: Context) -> MKMapView {