Flutter 和 Firestore 基于位置的查询和数据结构

Posted

技术标签:

【中文标题】Flutter 和 Firestore 基于位置的查询和数据结构【英文标题】:Flutter & Firestore location-based queries & data structure 【发布时间】:2020-07-08 08:47:58 【问题描述】:

我目前正在开发一款连接客户和工匠的应用程序。现在我正在构建数据库并考虑可能的查询。我注意到使用基于位置的方面并不容易,我现在正在努力解决这个问题,我的研究并没有真正帮助。 我正在使用 Flutter 和 Firestore。

我是如何开始构建数据的


    "jobs": 
        "jobid":
            "title": "Repair my TV",
            "description": "some text here",
            "postal_code": 10827,
            "city": "Berlin, Germany"
        
    

这样,我可以轻松地按城市查询。我感觉这不是问题的最佳解决方案。

我想达到的目标

我想以某种半径查询它,例如: 一位工匠想查看 10 公里半径内的所有可用工作。

有人有解决这个问题的技巧吗?

编辑:我曾想过使用 Geopoints,但我读到 Firestore 无法执行 GeoQuery,对吗?

【问题讨论】:

能否包含您的代码,以便有更多上下文可以提供帮助? 我还没有真正写过代码。它更多的是一个理论问题,因为它更多的是关于数据库结构。 【参考方案1】:

就数据结构而言,您需要添加地理位置组件

纬度 经度

因为这是在您开发应用程序后将用于地理查询的组件。

在您使用 Fluttter 时,here 是一个关于使用地图和地理查询的整个过程的视频,一旦您开始实施,它就会对您有用。

【讨论】:

以上是关于Flutter 和 Firestore 基于位置的查询和数据结构的主要内容,如果未能解决你的问题,请参考以下文章

Flutter/Firestore:如何在滚动时将项目添加到流中(完成获取时保留滚动位置)?

如何在 Flutter 中使用 Firebase Auth 和 Firestore

从 Firestore 数据库中获取最新数据到 Flutter App

新的“Cloud Firestore”是不是能够基于位置距离进行查询?

Flutter 如何优化 Firestore 存储读取以防止大量不必要的读取

如何使用Firestore Geopoint为社交媒体应用程序(swift Xcode)获取基于位置的帖子