如何有效地找出用户的当前位置是否在经纬度附近?

时间:2018-07-19 12:13:40

标签: android performance google-maps firebase

我正在考虑构建一个Android应用程序,使人们可以在各个位置的嵌入式Google Map上放置图钉。用户掉落销钉的条件是,该销钉不得位于之前掉落的任何其他销钉的100m半径之内。我正在考虑使用Firebase作为后端。

查找用户的位置与地图上每个图钉之间的距离并不是一种有效的方法,因为如果没有更多的图钉,可能会有数千个。

我将如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

GeoFire将是一个很好的选择。

  

GeoFire是JavaScript,Objective-C,   和Java,可让您根据以下内容存储和查询一组键   他们的地理位置。本质上,GeoFire只是存储   带字符串键的位置。但是,它的主要好处是   仅检索给定地理区域内的那些密钥的可能性   区域-全部实时。

答案 1 :(得分:1)

您可以将所有LatLng点存储在HashSetHashMap中,然后使用LatLngBounds类的contains()方法查看是否存在某个区域是否包含一个点。

您可以在此处了解更多信息:LatLngBounds