swiftui-mapview

Swift Version Platforms

MKMapView 在 SwiftUI 中的应用。

对于 iOS 14 及更高版本,请使用 Apple 官方的 Map 视图。

Social Preview (点击图片查看完整截图)

安装

使用 Xcode,选择 File -> Swift Packages -> Add Package Dependency 并输入 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