gpt4 book ai didi

ios - Swift - 从 Firestore 检索地理点,如何将它们显示为 map 注释

转载 作者:搜寻专家 更新时间:2023-11-01 06:27:22 27 4
gpt4 key购买 nike

我有以下代码可以检索存储在 Google Firestore 中的坐标:

    let locationsRef = db.collection("locatioInfo")
locationsRef.getDocuments { (querySnapshot, err) in
if let err = err {
print("Error receiving Firestore snapshot: \(err)")
} else {
for document in querySnapshot!.documents {
print("\(document.documentID) => \(document.data())")
}
}
}

产生这个输出:

location1 => ["geopoint": <FIRGeoPoint: (50.086421, 14.452333)>]
location2 => ["geopoint": <FIRGeoPoint: (50.086442, 14.452268)>]

我的问题是:如何将获取的 FIRGeoPoints 转换为 CLLocationCoordinates2D 或者简单地说:如何使用这些坐标并将它们显示在 map 上?

我有一个 MKAnnotationView 已经设置广告用于硬编码坐标,现在我需要显示获取的坐标。希望这已经足够清楚了,提前致谢。

最佳答案

我认为您要问的是如何从 Firestore 地理点 (??) 中获取纬度和经度。试试这个,如果不是您要的,请告诉我,我会进行编辑。

暂时假设您有一个这样的 Firestore 结构

coordinates
point_0
coords: [49N, 44E]
point_1
coords: [67N, 30E]

然后阅读这些内容并获取纬度和经度。

self.db.collection("coordinates").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
if let coords = document.get("coords") {
let point = coords as! GeoPoint
let lat = point.latitude
let lon = point.longitude
print(lat, lon) //here you can let coor = CLLocation(latitude: longitude:)
}
}
}
}

输出是

49.0 44.0
67.0 30.0

关于ios - Swift - 从 Firestore 检索地理点,如何将它们显示为 map 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52374315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com