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

时间:2018-08-24 05:55:01

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

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

数据库: Name, latitude, longitude

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在您所在的位置设置一个听众。每次您的位置更改设定的数量(例如50m)时,您都可以进行数据库调用并检索位置集合。使用Google的距离矩阵Api计算当前位置和存储位置之间的距离,并对它们进行相应的排序。检索所需半径内的位置并显示它们。

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