LocationPicker for SwiftUI
是一个 Swift 包,它提供了一个易于使用的 SwiftUI 视图,用于交互式输入地理坐标。
您所需要做的就是将一个 CLLocationCoordinate2D
类型的属性绑定传递给 LocationPicker
视图(请记住导入 MapKit 框架!)。这意味着一旦选择了位置,坐标将通过 SwiftUI 强大的绑定系统直接传递到您之前的视图,而无需任何额外的努力。 现在,将 LocationPicker
视图放入 Sheet
或 NavigationLink
中,传递之前提到的绑定值。
用户现在可以自由地在地图上导航并选择位置。 一旦在地图上的任何位置按下,地图上将出现一个标注,同时坐标始终在屏幕底部实时显示。 您还可以提供自定义文本来告诉用户该做什么。
这是一个简短的用法示例。您可以在 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 文件以获取完整参考。