【问题标题】:What if i want show all location from my database within radius 1000 meters from my current location?如果我想显示我当前位置半径 1000 米范围内数据库中的所有位置怎么办?
【发布时间】:2019-01-30 13:38:59
【问题描述】:

我想显示我数据库中的所有位置。我有当前位置,我想显示数据库中我当前位置半径 1000 米范围内的所有位置。 数据库表有以下字段。

数据库: Name, latitude, longitude.

谢谢。

【问题讨论】:

  • 这是我第一次使用谷歌地图,所以我知道如何从我的数据库中获取位置,在我从我的数据库中获取所有位置之后,我如何将它与我当前的位置进行比较/计算?这样我就可以知道是否在我当前位置的半径范围内输入了某个位置。

标签: android google-maps google-maps-markers google-maps-api-2


【解决方案1】:

您可以在您的位置设置监听器。每次您的位置发生一定量的变化(例如 50m)时,您都可以进行数据库调用并检索一组位置。使用 Google 的距离矩阵 Api 计算您当前位置与存储位置之间的距离,并相应地对它们进行排序。检索落在所需半径内的位置并显示它们。

如果您可以使用 Firebase 数据库,那么您可以使用 geofire 为您自动完成这一切。 Geofire 提供实时位置查询。这正是您想要实现的目标。您将位置的键值对存储在数据库中。使用您当前的位置和半径查询数据库,GeoFire 将为您完成剩下的工作。 https://github.com/firebase/geofire

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 2018-08-23
    相关资源
    最近更新 更多