swiftui-mapview
在 SwiftUI 中使用 MKMapView。
对于 iOS 14 和更高版本,请使用 Apple 的官方 Map 视图。
安装
使用 Xcode,选择 文件
-> Swift 包
-> 添加包依赖
并输入 https://github.com/sgade/swiftui-mapview
。
使用
在您的视图中添加地图。请看 示例项目 了解如何集成地图视图。
import SwiftUIMapView
struct ContentView: View {
var body: some View {
MapView()
}
}
通用
地图类型
MapView(mapType: .standard)
用户位置
显示当前用户位置
当前位置可以在地图上显示。默认值为 true
。请注意,应用需要权限才能访问当前用户位置。有关更多信息,请参阅 MapView.showsUserLocation
上的文档。
MapView(showsUserLocation: true)
跟踪用户位置
MapView(userTrackingMode: .follow)
地区
设置可见区域中心
center
传入的绑定定义了可见区域。将其设置为 nil
将在加载时使用地图的默认区域。当可见区域改变时,它也会被更新。
@State var center: CLLocationCoordinate2D?
MapView(center: self.$center)
设置可视区域缩放
zoom
绑定传入的值定义了可视区域跨度。如果没有指定任何值,则使用默认缩放。当可视区域改变时,它也会更新。
@State var zoom: MKCoordinateSpan
MapView(zoom: self.$zoom)
注释
添加注释
注释以实现 MapViewAnnotation
协议的自定义类对象表示。可能有助于从现有类如 MKPlacemark
继承。
let annotations: [MapViewAnnotation] = ...
MapView(annotation: self.annotations)
选择注释
可以通过绑定传入一组选择的注释。选择注释更新绑定,反之亦然。
@State var selectedAnnotations: [MapViewAnnotation] = []
MapView(selectedAnnotations: self.$selectedAnnotations)
贡献
许可
本项目根据 MIT 许可协议授权。更多信息请参阅 LICENSE。