2015-11-24 6 views
7

So habe ich eine Android-App, mit der Benutzer Beiträge in einem bestimmten Umkreis ihres aktuellen Standorts anzeigen können. Ich speichere die Posts mit Firebase, aber ich konnte keine Möglichkeit finden, nach Posts in einem bestimmten Radius in Firebase zu suchen, also denke ich jetzt an Geofire, aber ich bin mir nicht sicher, ob es eine Möglichkeit gibt, einen Ort zu speichern neben meinem firebase posts mit geofire, so, es scheint mir wie die einzige möglichkeit, einen ort mit einem post zu verbinden ist, dass die post id (die von firebase generiert) der schlüssel für die geofire location. Ist das richtig oder gibt es einen besseren Weg?Geofire-Standort mit Firebase-Eintrag verknüpfen

+2

Hört sich gut an. Die meisten Implementierungen halten die Eigenschaften der Posts von den Geodaten getrennt, sodass die Geoqueries nur mit minimalen Daten arbeiten. Eine Einführung finden Sie unter https://geofire.firebaseapp.com/. –

+0

Ok, also zwei Abfragen wären erforderlich, um die Beiträge hier zu erhalten. Eine, die Geofire verwendet, um Orte in einem bestimmten Radius des aktuellen Standorts zu finden und ihre Schlüssel abzurufen, und eine andere, die Firebase verwendet, um Post-Infos für alle Posts abzurufen, die den IDs der Geofire-Standorte entsprechen. Ich hatte gehofft, eine Abfrage zu verwenden, aber es scheint so zu sein. – dramzy

+2

Der zweite ist nicht streng genommen eine Abfrage. Es ist eine direkte Suche nach ID. Da Firebase über eine vorhandene Socket-Verbindung funktioniert und Sie diese pipelieren können, sind diese Suchvorgänge ziemlich schnell. Wenn nicht: Starten Sie eine neue Frage mit dem Code, der problematisch ist, und wir können einen Blick darauf werfen. –

Antwort

0

Ja, das ist der richtige Weg. Sie erstellen eine flache DB. Ein Zweig mit Post-Daten und ein Zweig mit Standorten.