31

GeoFireはRealtime Databaseと緊密に結合されていますが、ジオクエリーはFirestoreに移行しようとする多くのアプリケーションの共通の機能依存です。 Firestore環境内の場所のハッシュ/リトリーブを複製する方法はありますか?FirestoreでGeoFireを使用する方法はありますか?

答えて

6

解決方法は、Googleがpresenceと示唆するように、ジオクエリだけのためにリアルタイムデータベースに追加し、2つのデータベースをクラウド機能と同期させることです。

私の場合、それは多くを同期させるためにも必要はありません。私は、リアルタイムデータベース上の自分の位置とuidのリストを保持し、そこにすべてのジオクエリを行います。

+0

私は同じ考えをしていました。このコードを共有できますか? –

+0

残念ながら、私はできません。 Realtime DBのメインのFirestore DBで削除されたUIDを削除するだけです。あなたは単にあなたの場所をRealtime DBに書き込んで、GeoFireであなたのUIDのリストを取得するだけです。 – urgentx

7

クラウドFirestoreはネイティブにジオポイントをサポートします。サポートされているdata typesを参照してください。ここでクラウドFirestoreチームから

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

こんにちはSUPERCILEX、これは範囲で動作しますか? (都市を照会してその都市のレストランをすべて取得するなど)特定のものではない –

+0

しかし、「場所」のようなフィールドでは、範囲ベースの照会はどうですか?これらのクエリは失敗しませんが、実際に何をしているのかは明確ではありません... –

35

サム:そして、あなたは、あなたがデータを設定しても、それを照会するために使用することができますGeoPointクラスを見つけることができます。 SUPERCILEXが述べたように、Cloud FirestoreはすでにGeoPointデータタイプをサポートしています。私たちは、ネイティブのジオクエリを製品にもたらすために懸命に取り組んでいます。

ネイティブ地理クエリが来ているので、我々はクラウドFirestoreにGeoFireを移植されることはありません。代わりに、ネイティブクエリーを早く取得するために、そのエンジニアリングの取り組みをリダイレクトします。

今日は地理のクエリを必要とし、リアルタイムデータベースに固執、独自のライブラリを構築したくない場合は!

+16

Firestoreは今後、この実装からどのくらい離れていますか? 2日?週?年? – erickva

+3

はい、おおよそのタイムラインが非常に役立ちます。ジオデータを使って大規模なアプリを見つけているだけで、Geofireのような機能をすぐに持っていれば、Firestoreで実装することができます。 – Georg

+6

タイムラインを共有することはできません。それはしばらくすることができます!これがアプリの重要な機能である場合は、私たちがこれを行うのを待つのではなく、既存のツールを使用してください。 –

関連する問題