如何解决带有英国邮政编码距离搜索功能的 Flutter Firebase 实时数据库
我正在尝试构建一个基本的 Flutter 应用程序,人们可以在其中交换项目(有点像 Olio 应用程序),但我遇到了只在特定范围内显示的列表。
用户 1 将他们希望交换的项目的详细信息(包括用户英国邮政编码)上传到 firebase 实时数据库。
用户 2 希望查看他们选择的搜索条件(即 20 英里内)内的物品。
我想找出执行此搜索的有效方法?目前我只是从实时数据库中返回所有项目,但需要它以便返回的唯一项目是距离范围内的项目。
我是否需要下载所有项目(这可能是一个非常大的列表),然后根据谷歌地图 api 检查每个项目?这似乎非常低效!
我真的很感激任何指向正确方向的指针。
解决方法
这是 Firebase 实时数据库真正不擅长的“多对多”关系问题之一。但是,Cloud Firestore 允许您保存地理点并对其执行查询:
https://firebase.google.com/docs/firestore/solutions/geoqueries
编辑: 实时数据库和云 Firestore 显然都支持这一点,这很棒!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。