我正在考虑构建一个Android应用程序,人们可以在该应用程序中的不同位置放置嵌入的谷歌地图。用户掉落大头针的条件是,大头针不得在之前掉落的任何其他大头针100米半径范围内。我正在考虑使用firebase作为后端。
查找用户位置和地图上每个引脚之间的距离不是一种有效的方法,因为可能会有数千个引脚掉落。
我该如何解决这个问题?
GeoFire将是一个很好的匹配。
GeoFire是一组用于JavaScript、Objective-C、,和Java,允许您基于他们的地理位置。GeoFire的核心只是存储具有字符串键的位置。然而,它的主要好处是仅检索给定地理区域内的密钥的可能性区域-所有这些都是实时的。
您可以将所有LatLng
点存储在HashSet
或HashMap
中,然后使用LatLngBounds
类的contains()
方法查看某个区域是否包含点。
你可以在这里阅读更多信息:LatLngBounds