【发布时间】:2020-01-16 20:18:11
【问题描述】:
我想知道如何使用 SwiftUI 框架获取用户当前位置。我已经显示了地图,但我想知道如何获取当前位置的用户纬度和经度。随意创建一个类,但请解释类操作以及在哪里实现它。 通过使用 UIViewRepresentable 和名为 makeUIView 和 updateUIView 的两个函数来显示地图 提前谢谢你
【问题讨论】:
我想知道如何使用 SwiftUI 框架获取用户当前位置。我已经显示了地图,但我想知道如何获取当前位置的用户纬度和经度。随意创建一个类,但请解释类操作以及在哪里实现它。 通过使用 UIViewRepresentable 和名为 makeUIView 和 updateUIView 的两个函数来显示地图 提前谢谢你
【问题讨论】:
创建CLLocationManager的实例:
var locManager = CLLocationManager()
locManager.requestWhenInUseAuthorization()
然后获取详细信息:
var currentLocation: CLLocation!
if( CLLocationManager.authorizationStatus() == .authorizedWhenInUse ||
CLLocationManager.authorizationStatus() == .authorizedAlways){
currentLocation = locManager.location
}
然后得到经度或纬度:
let longitude = currentLocation.coordinate.longitude
let latitude = currentLocation.coordinate.latitude
如果您想在 swiftUI 视图脚本中执行它,请创建实例:
@ObservedObject var locationManager = LocationManager()
分别获取:
var userLatitude: String {
return "\(locationManager.lastLocation?.coordinate.latitude ?? 0)"
var userLongitude: String {
return "\(locationManager.lastLocation?.coordinate.longitude ?? 0)"
【讨论】:
print("Latitude: \(userLatitude) and Logitude: \(userLongitude)")跨度>