gpt4 book ai didi

android - 移动应用如何找到附近的用户

转载 作者:行者123 更新时间:2023-11-30 02:41:02 25 4
gpt4 key购买 nike

我正在开发一个可以找到附近用户的安卓应用程序。我在设计该应用程序时需要帮助。

我在想:1. 当我启动我的应用程序时,我使用 API 来查找我的位置。2. 我将该位置发送到我的服务器。3.服务器返回附近其他用户的列表。

我的问题是服务器如何跟踪附近的用户列表?

我是否要在手机上创建一个定期报告用户位置的后台服务?服务器维护所有用户位置的列表?

这种方法可行吗?

最佳答案

您走在正确的轨道上。如果您能够地理编码或检索您当前位置的纬度/经度坐标,可能有一个库可以帮助您。

我的第一个想法是用于 ruby​​ 的 Geocoder ( https://github.com/alexreisner/geocoder ) 库,它提供了一个灵活的 API,可以让您轻松找到附近的其他对象:

if obj.geocoded?
obj.nearbys(30) # other objects within 30 miles
obj.distance_from([40.714,-100.234]) # distance from arbitrary point to object
obj.bearing_to("Paris, France") # direction from object to arbitrary point
end

还有其他选项也很简单,如果您将 PostgreSQL 与 PostGIS 结合使用,您将拥有一些实用功能,我相信您可以使用这些功能来查询“附近”的用户。 (找到一个例子,“找到另一个对象半径范围内的所有对象的最佳方法是什么?”http://postgis.net/docs/manual-1.3/ch03.html#id434832)

所以整体的工作流程是:

  1. 从设备 API 请求纬度/经度
  2. 将纬度/经度发送到服务器/网络服务
  3. 使用图书馆/数据库查找指定半径内的其他用户
  4. 将用户列表发送回设备

我怀疑最困难的方面可能是让其他用户的纬度/经度保持最新,但这是一个需要解决的不同问题。

编辑:澄清一下,您肯定希望将所有登录用户的纬度/经度存储在服务器上的某种数据库中。这是一种非常可行的方法,但您必须使其保持最新并且能够以某种方式确定数据是否过时(如果这对您的应用程序很重要)。您是否使用后台服务来使该信息保持最新取决于您和您要解决的问题的限制。

关于android - 移动应用如何找到附近的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com