31

GeoFire ist eng mit der Echtzeitdatenbank verbunden, während Geo-Queries eine häufige funktionale Abhängigkeit vieler Apps darstellen, die nach Firestore migrieren möchten. Gibt es eine Möglichkeit, das Hashing/Retrieval von Speicherorten in der Firestore-Umgebung zu replizieren?Gibt es eine Möglichkeit, GeoFire mit Firestore zu verwenden?

Antwort

6

Eine Lösung, die in den Sinn kommt, ist die Realtime Database nur für Geo-Abfragen hinzufügen und synchronisieren Sie die beiden Datenbanken mit Cloud-Funktionen, wie Google schlägt mit presence vor.

In meinem Fall ist es nicht einmal notwendig, viel zu synchronisieren; Ich behalte nur eine Liste von Uids mit ihren Standorten in der Realtime Database und führe dort alle Geo-Anfragen durch.

+0

Ich dachte das Gleiche. Kannst du diesen Code teilen? –

+0

kann ich leider nicht. Sie müssen nur UIDs in der Realtime-Datenbank löschen, wenn sie in der Haupt-Firestore-Datenbank gelöscht werden. Zum Abfragen schreiben Sie einfach Ihre Standorte in Realtime DB und rufen Ihre Liste von UIDs mit GeoFire ab. – urgentx

7

Cloud Firestore unterstützt nativ Geo-Punkte. Siehe die unterstützten data types. Und Sie werden die GeoPoint Klasse finden, die Sie Daten verwenden können, um festgelegt und es auch abfragen:

query.whereEqualTo("location", GeoPoint(lat, long)) 
+3

Hallo SUPERCILEX, funktioniert das mit einer Reihe? (Frage eine Stadt ab und erhalte alle Restaurants in dieser Stadt zum Beispiel) keine spezifische –

+0

Aber was ist mit bereichsbasierten Abfragen auf einem Feld wie 'Ort'? Diese Abfragen scheitern nicht, aber es ist nicht klar, was sie tatsächlich tun ... –

35

Sam aus dem Cloud Firestor Team hier. Wie SUPERCILEX sagte, unterstützt Cloud Firestore bereits den GeoPoint-Datentyp. Wir arbeiten hart daran, native Geo-Queries zum Produkt zu bringen.

Da native Geoabfragen kommen, werden wir GeoFire nicht auf Cloud Firestore portieren. Stattdessen werden wir diesen technischen Aufwand umleiten, um die nativen Abfragen schneller zu erhalten.

Wenn Sie heute Geoabfragen benötigen und keine eigene Bibliothek erstellen möchten, bleiben Sie bei Realtime Database!

+16

Firestore wird dann der Ort sein zu gehen, wie weit sind wir von dieser Implementierung? Einige Tage? Wochen? Jahre? – erickva

+3

Ja, eine ungefähre Zeitleiste wäre sehr hilfreich. Wir haben gerade eine große App mit Geodaten im Visier und wären bereit, sie mit Firestore zu implementieren, wenn wir die Funktionalität von Geofire bald ändern. – Georg

+6

Ich kann keine Zeitleisten teilen. Es könnte eine Weile sein! Wenn dies eine wichtige Funktion für Ihre App ist, verwenden Sie bitte vorhandene Tools, anstatt auf uns zu warten. –

Verwandte Themen