将位置与多个用户进行比较时涉及什么逻辑

What logic is involved when comparing a location to multiple users

使用 Android Studio,在尝试将特定用户的位置与其他所有用户进行比较时需要什么样的东西。例如,如果有 1000 个并发用户,我想找到离任何给定用户最近(或最远)的用户,需要进行什么样的计算?

如果每个用户的位置都保存到数据库中,我应该从哪里开始?是否有必要将一个位置与 1000 个(或更多)用户进行比较以找到最近的位置,或者进行某种类型的截止(即仅比较 50 公里以内的用户)是否更有意义。

这似乎让人不知所措,而且我是 android 的新手,所以我不确定从哪里开始。 Parse.com 和 Pubnub 正在这个项目中使用。

用户邻近度地理散列教程

我将在此处为您参考 geohashing 教程,该教程将引导您完成如何构建一个基于相对位置连接用户的实时应用程序。 请注意,此示例是用 JavaScript 而不是 Java/Android 编写的。但是,您仍然可以使用此设计模式来确定接近度。

App Geo Location: https://www.pubnub.com/blog/2014-05-07-geohashing-chat-by-proximity/

还有一个讨论 Geohasing 概念的短视频。

添加 Parse SDK 和位置比较

如果需要,您也可以在此添加link: Parse reference guide. And a Parse Connector SDK