我在 Android 中创建了一个 SqliteDatabase,它有两列(以及其他列),其中包含纬度和经度信息。我必须检索我周围 500 米范围内的行,现在我有我当前的经纬度信息,我如何比较和检索它们?
谢谢
我在 Android 中创建了一个 SqliteDatabase,它有两列(以及其他列),其中包含纬度和经度信息。我必须检索我周围 500 米范围内的行,现在我有我当前的经纬度信息,我如何比较和检索它们?
谢谢
如何比较和检索它们?
我想还有更多可能的方法。您可以使用精心设计的WHERE
子句来做到这一点,但我认为性能不会很好。
因此,我建议您将所有行提取到Cursor
. 然后遍历 Cursor 并将每一行的纬度和经度与您当前的位置进行比较。处于所需距离的行保存到一些辅助结构中,例如动态数组(例如列表)。
要计算两点之间的距离,您可以使用Euclidean distance。如需将度数转换为十进制,请查看这篇文章。
希望它可以帮助您并使事情更清楚。
您可能必须使用 Haversine 公式来计算您到每个点的距离