algorithm - 用于查找多个坐标(纬度/经度)动态和静态之间距离的算法
问题描述
我正在 Flutter 中制作一个应用程序,它将具有一些混合功能,例如分类应用程序/Tinder。我需要一个关于如何实现这一点的逻辑或一些建议。请耐心听我的解释。
用例: 用户 A:发布关于出售他的电视的广告并将他的地址添加到广告中 -(经纬度) 用户 B:在同一个应用程序中,他正在寻找电视广告,但他将搜索半径设置为 5 公里。(我们从他的设备中获得了用户 B 的位置。纬度/经度)
- 现在在我的 items_db 表中,电视广告信息与位置一起保存
- 向用户 B 显示他附近的电视;我可以计算项目和用户之间的距离(使用 Google APi)
- 但是为了向他展示他附近的所有电视,我必须首先计算用户与 Classified/items_db 中所有可用项目之间的距离,以找出其中有多少实际上在他应用的 5km 过滤器下。
- 现在我们谈论的是 1 个用户:但是如果我有 1000 个用户,那么我将不得不计算所有项目与所有用户位置之间的距离,然后只向他显示那些在他们指定范围内的项目(即 5 公里或 10公里)
这似乎太大或太糟糕,无法像那样实施。所以我的问题是我们如何做到这一点?
如果这还不够清楚,请在此处使用 Tinder 作为示例:
当我在 Tinder 中选择“仅显示 2 公里半径内的人”时。那么 Tinder 是如何知道这一点的呢?我的意思是为了弄清楚谁在2公里之外;他们首先必须计算所有可用用户的距离,以便查看哪些可以显示给符合 2 公里标准的最终用户!那里是怎么做的?
解决方案
推荐阅读
- restheart - 将 Auth Token 与多个 RESTheart 实例一起使用
- powershell - 在 Azure DevOps Pipeline 中从 PowerShell 运行 Terraform
- linux - 如何在没有 MAC 地址的情况下使用 WiFi Direct p2p_connect 到设备?(树莓派和安卓)
- git - git:更多帐户/回购同一台机器
- filter - 谷歌表格从表格中提取数据并为每个数据集创建一行
- jquery - 如何根据summernote内部的文本启用或禁用按钮?
- pandas - 如何在散点图多索引数据框中获取正确的标签
- mysql - 由于使用 woocommerce 优惠券生成器插件生成 400,000 张优惠券以及缓慢的 MySQL 服务器过载和响应,服务器响应极慢
- ios - 将缺少 json 属性的更新对象恢复为默认值
- swift - UITableViewCell 在滚动时继续改变它的图像