С GeoFirestore, как я могу выбрать всех пользователей в пределах определенного радиуса определенного пользователя? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь загрузить всех пользователей в радиусе от пользователя, такого как Tinder или Bumble. Тем не менее, моя текущая функция не фильтрует по местоположению вообще.

Я посмотрел документы GeoFirestore и не совсем уверен, как решить эту проблему.

let geoFirestoreRef = Firestore.firestore().collection("users")
let geoFirestore = GeoFirestore(collectionRef: geoFirestoreRef)


    let userCenter = CLLocation(latitude: userLat, longitude: userLong)


    let radiusQuery = geoFirestore.query(withCenter: userCenter, radius: 1)

    radiusQuery.geoFirestore.getCollectionReference().whereField("Age", isGreaterThanOrEqualTo: minAge).whereField("Age", isLessThanOrEqualTo: maxAge).getDocuments { (snapshot, err) in
        if let err = err {
            print("failed to fetch user", err)
            self.hud.textLabel.text = "Failed To Fetch user"
            self.hud.show(in: self.view)
            self.hud.dismiss(afterDelay: 2)
            return
        }

            let userDictionary = documentSnapshot.data()
            let user = User(dictionary: userDictionary)

Я хочу получить всех пользователей в заданном радиусе; однако в настоящее время эта функция выбирает всех пользователей независимо от их местоположения. Есть предложения?

...