SwiftUI 的位置选择器

LocationPicker for SwiftUI 是一个 Swift 包,它提供了一个易于使用的 SwiftUI 视图,用于交互式输入地理坐标。

用法

您所需要做的就是将一个 CLLocationCoordinate2D 类型的属性绑定传递给 LocationPicker 视图(请记住导入 MapKit 框架!)。这意味着一旦选择了位置,坐标将通过 SwiftUI 强大的绑定系统直接传递到您之前的视图,而无需任何额外的努力。 现在,将 LocationPicker 视图放入 SheetNavigationLink 中,传递之前提到的绑定值。

用户现在可以自由地在地图上导航并选择位置。 一旦在地图上的任何位置按下,地图上将出现一个标注,同时坐标始终在屏幕底部实时显示。 您还可以提供自定义文本来告诉用户该做什么。

Location Picker

示例

这是一个简短的用法示例。您可以在 UsageExample.swift 中找到完整代码

import SwiftUI
import MapKit
import LocationPicker

struct Example: View {
    @State private var coordinates = CLLocationCoordinate2D(latitude: 37.333747, longitude: -122.011448)
    @State private var showSheet = false

    var body: some View {
        VStack {
            Text("\(coordinates.latitude), \(coordinates.longitude)")
        
            Button("Select location") {
                self.showSheet.toggle()
            }
    }

    .sheet(isPresented: $showSheet) {
        LocationPicker(instructions: "Tap to select coordinates", coordinates: $coordinates, dismissOnSelection: true)
    }
}

安装

要求

在 Xcode 中,转到 File -> Add Package Dependencies... 并粘贴仓库的 URL:https://github.com/alessiorubicini/LocationPickerForSwiftUI。 然后选择主分支或您需要的版本。

许可证

版权所有 2022 (©) Alessio Rubicini。

此存储库的许可证是 MIT 许可证。

请参阅 LICENSE 文件以获取完整参考。