【问题标题】:how do i get a list of nearby users in an android application efficiently?如何有效地获取 android 应用程序中附近用户的列表?
【发布时间】:2017-07-13 18:58:51
【问题描述】:

我正在构建一个获取附近用户列表的应用程序。 Grindr 或 Badoo 之类的应用正是我想要实现的目标。

我知道我必须每隔几分钟将用户当前位置上传到数据库。然后当一个用户想要寻找附近的其他用户时,搜索所有数据库。

例子:

我的应用中有 20 万在线用户。用户想要找到前 20 个最近的其他用户。每个用户都有他的位置存储在数据库中。所以我计算用户和其他用户之间的距离并选择最近的 20。

我认为这种方法效率不高。有没有更好的解决方案?

是否可以使用 google Nearby API 实现此功能?

【问题讨论】:

    标签: android location


    【解决方案1】:

    这与其说是 android 问题,不如说是后端服务器问题。我会在每个时间迭代变量向我的服务器发送一个 lat long。然后它会搜索最后一个位置早于您确定位置不好的时间并且纬度和经度都比任意半径更近的用户,并在剩余,服务器返回最接近的 20。

    【讨论】:

    • 如果我找不到最接近的 20...我会缩放半径...我会试试的
    【解决方案2】:

    所有负载都必须在服务器上,应用程序应该只发送用户的位置,并且在后端应该使用距离公式或谷歌矩阵寻找最近的“n”个用户

    如果有很多用户,考虑集群

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多