首页 文章

有没有办法将GeoFire与Firestore一起使用?

提问于
浏览
42

GeoFire与实时数据库紧密耦合,而地理查询是许多希望迁移到Firestore的应用程序的常见功能依赖 . 有没有办法在Firestore环境中复制散列/检索位置?

5 回答

  • 10

    Sam来自Cloud Firestore团队 . 正如SUPERCILEX所说,Cloud Firestore已经支持GeoPoint数据类型 . 我们正在努力为产品提供原生地理查询 .

    由于原生地理查询即将到来,我们不会将GeoFire移植到Cloud Firestore . 相反,我们会将该工程工作重定向到更快地获取本机查询 .

    如果您今天需要地理查询并且不想构建自己的库,请坚持使用实时数据库!

  • 4

    想到的解决方案是在实时数据库中添加仅用于地理查询并使用 Cloud 功能同步两个数据库,就像Google建议使用presence一样 .

    就我而言,它甚至不需要同步很多;我只是在实时数据库中保留一个uid列表及其位置,并在那里进行所有地理查询 .

  • 5

    Cloud Firestore本身支持地理点 . 请参阅支持的data types . 您将找到GeoPoint类,您可以使用它来设置数据并查询它:

    query.whereEqualTo("location", GeoPoint(lat, long))
    
  • 8

    自最初的海报首先提出这个问题以来,已经引入了一个新项目 . 该项目名为GEOFirestore .

    使用此库,您可以执行查询,例如圆圈内的查询文档:

    const geoQuery = geoFirestore.query({
        center: new firebase.firestore.GeoPoint(10.38, 2.41),
        radius: 10.5
      });
    

    您可以通过npm安装GeoFirestore . 您必须单独安装Firebase(因为它是GeoFirestore的对等依赖项):

    $ npm install geofirestore firebase --save
    
  • 46

    好消息 . 现在有一个iOS和Android库,可以复制GeoFire for Firestore . 该库名为GeoFirestore . 它有完整的文档,并经过充分测试 . 我目前在我的应用程序中使用它,它的工作非常出色 . 代码与GeoFire的代码非常相似,因此只需几分钟即可学习 .

相关问题