我正在构建一个 Android 应用程序,用户可以在其中根据当前位置找到最近的位置,还可以将位置添加到数据库中。我知道我将不得不在我的数据库中使用 long 和 lat,但我真的不知道如何将当前位置与数据库中的位置进行比较。我什至如何搜索它,因为我可能必须系统地遍历整个数据库,提取每个地理点,然后将其与用户位置进行比较?
示例:假设用户输入了伦敦的 10 个地方和世界各地的 1000 个其他地方,并且伦敦的一个人正在使用该应用程序并希望根据他们当前的位置找到离他们最近的地方。我将如何在数据库中的 1000 个其他地方中搜索这 10 个地方?不需要执行 distanceTo() 1000 次。
任何建议、指南、教程、参考资料都会很棒。
提前致谢。
编辑:
到目前为止,这是我的想法。
获取位置的经度和纬度,可能已经搜索到,当前位置或用户在屏幕上点击的位置。
使用所述位置的 Long/Lat - 使用 getFromLocation 方法从反向地理编码中获取该位置的位置描述。
使用地点描述,根据地址字符串搜索数据库。
这就是我现在所拥有的,但这似乎并不可靠。给定位置的经度/纬度,必须有一种更简单的方法来查询数据库并返回最近地点的完整列表。