如果我想显示我当前位置半径 1000 米范围内数据库中的所有位置怎么办?

Posted

技术标签:

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

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

数据库: Name, latitude, longitude.

谢谢。

【问题讨论】:

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

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

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

【讨论】:

以上是关于如果我想显示我当前位置半径 1000 米范围内数据库中的所有位置怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 在 200 米半径范围内做某事

获取半径内的位置

查找距我当前位置 100 米范围内的已保存位置

在我周围 5 公里半径值范围内的 android 应用上标记地理位置。

找到给定半径内的附近位置

给定 GPS 的地理位置,如何在给定的 x 米半径内找到纬度和经度