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
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.
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))
Hallo SUPERCILEX, funktioniert das mit einer Reihe? (Frage eine Stadt ab und erhalte alle Restaurants in dieser Stadt zum Beispiel) keine spezifische –
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 ... –
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!
Firestore wird dann der Ort sein zu gehen, wie weit sind wir von dieser Implementierung? Einige Tage? Wochen? Jahre? – erickva
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
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. –
- 1. Gibt es eine Möglichkeit, Unterstring bei Firestore zu suchen?
- 2. Gibt es eine Möglichkeit, FieldValue.serverTimestamp() in Firebase Firestore JS ohne Firebase-Admin zu verwenden
- 3. Gibt es eine Möglichkeit, neue DrawerLayout mit ActionBarSharlock zu verwenden?
- 4. Gibt es eine Möglichkeit, wrapbootstrap Themen mit Angular2 zu verwenden?
- 5. Gibt es eine Möglichkeit, Drohnen mit selbstsignierten Zertifikaten zu verwenden?
- 6. Gibt es eine Möglichkeit, Pipenv mit Jupyter Notebook zu verwenden?
- 7. Gibt es eine Möglichkeit, ReJSON mit GEOADD zu verwenden?
- 8. Gibt es eine Möglichkeit, gcloud mit python3 zu verwenden?
- 9. Gibt es eine Möglichkeit, Wildcards mit git checkout zu verwenden?
- 10. Gibt es eine Möglichkeit, Ecto mit cloudbasiertem SQL zu verwenden?
- 11. Gibt es eine Möglichkeit, Ctags mit Ruby Namespacing zu verwenden?
- 12. gibt es eine Möglichkeit, Abhängigkeiten zu verwenden Injektion mit Typoskript
- 13. Gibt es eine Möglichkeit, BigQuery mit Dataproc zu verwenden?
- 14. Gibt es eine einfache Möglichkeit, Gulture mit Django zu verwenden?
- 15. Gibt es eine Möglichkeit, pandorabots Knotenmodul mit Nativescript zu verwenden?
- 16. Gibt es eine Möglichkeit Backendless mit tvOS zu verwenden?
- 17. Gibt es eine einfache Möglichkeit, Hoptoad mit CakePHP zu verwenden?
- 18. Gibt es eine Möglichkeit, Snapshots mit PersistenceQuery zu verwenden
- 19. Gibt es eine Möglichkeit, eine Testdatenbank in Katalysator zu verwenden?
- 20. Gibt es eine Möglichkeit
- 21. DotNetBrowser: Gibt es eine Möglichkeit, Browsererweiterungen zu verwenden?
- 22. Gibt es eine Möglichkeit, Funktionen in NSPredicate PrädikatWithFormat zu verwenden:
- 23. Gibt es eine Möglichkeit, LINQ für MDX-Abfragen zu verwenden?
- 24. Gibt es eine Möglichkeit, selbstdefinierte Linientypen in ggplot zu verwenden
- 25. Gibt es eine Möglichkeit, freigegebene Beispiele im Exunit zu verwenden?
- 26. Gibt es eine Möglichkeit, mysqlimport für timestamps-column zu verwenden?
- 27. Gibt es eine einfache Möglichkeit, InternalsVisibleToAttribute zu verwenden?
- 28. Gibt es eine bessere Möglichkeit, Conditionals in Jsx zu verwenden?
- 29. Gibt es eine Möglichkeit, window.hasOwnProperty() in Internet Explorer zu verwenden?
- 30. Gibt es eine Möglichkeit, Generika in MongoDB Client zu verwenden?
Ich dachte das Gleiche. Kannst du diesen Code teilen? –
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