Java 显示距离用户当前位置五/十英里的地图标记
我已经查阅了无数的教程和堆栈溢出帖子,但没有发现任何关于这个主题的内容。我试图允许用户设置英里的数值(即5、10、15),然后只显示距离用户当前位置在该距离内的地图标记 因此,我有用户位置值,我有一个标记数据库,每个标记都有自己的lat/lng值。我想做的是:Java 显示距离用户当前位置五/十英里的地图标记,java,android,google-maps,Java,Android,Google Maps,我已经查阅了无数的教程和堆栈溢出帖子,但没有发现任何关于这个主题的内容。我试图允许用户设置英里的数值(即5、10、15),然后只显示距离用户当前位置在该距离内的地图标记 因此,我有用户位置值,我有一个标记数据库,每个标记都有自己的lat/lng值。我想做的是: 获取用户在Lat/Lng中的当前位置 获取所需的距离值(5、10、15英里) 获取距离用户位置5英里的所有地图标记位置 隐藏所有其他未显示的标记 作为用户使用谷歌地图时,这是一个相当标准的功能,但我根本找不到任何关于它的文档。是否可以
- 获取用户在Lat/Lng中的当前位置
- 获取所需的距离值(5、10、15英里)
- 获取距离用户位置5英里的所有地图标记位置
- 隐藏所有其他未显示的标记
我一直在研究
LatLngBounds
,我相信我可以在我的解决方案中使用它。我看的是正确的路径吗?我会首先使用距离公式找到最小经纬度和最大经纬度(请参阅)。然后使用中的答案查找与行驶距离(小于或等于最小/最大)匹配的答案
通过找到最小/最大纬度/长度,您可以减少需要进行的计算的总数。驾驶距离或飞行距离?由于应用程序的性质,驾驶距离很好。@JeremyMiller感谢您迄今为止的帮助。你能不能也为《乌鸦飞》提供一些链接,因为经过更多的研究,可能会更有帮助:)已经做了。。。我的答案中的第一个链接更详细地说,计算直达距离更快——你可以用纯数学和纵横比来计算。因此,首先这样做是为了过滤掉不必要的工作,这对速度很重要。之后,您可以计算行驶距离,但现在您不必对数据库中的所有条目进行计算。