我正在构建一个获取附近用户列表的应用程序。像Grindr或Badoo这样的应用正是我想要实现的目标。
我知道我必须每隔几分钟将用户当前位置上传到数据库。然后当用户想要寻找其他附近用户搜索所有数据库时。
示例:
我的应用中有20万在线用户。用户希望找到最近的20个最近的其他用户。每个用户都将其位置存储在数据库中。所以我计算用户和其他用户之间的距离,并选择最近的20。
我不认为这种方法是有效的。有更好的解决方案吗?
是否可以使用google Nearby API实现此功能?
答案 0 :(得分:1)
这不是一个像后端服务器问题的安卓问题。我每隔时间迭代变量向我的服务器发送一个lat long。然后,它会在您确定位置错误并且纬度和长度都比任意半径更近的时间之前搜索具有最后位置的用户并执行距离搜索剩余的和服务器比返回最接近的20.
答案 1 :(得分:0)
所有负载必须在服务器上,应用程序应该只发送用户的位置,在后端应该使用距离公式或Google Matrix查找最近的'n'用户
如果有很多用户,请考虑群集