如果我想显示我当前位置半径 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 米范围内数据库中的所有位置怎么办?的主要内容,如果未能解决你的问题,请参考以下文章