0

我在 Android 中创建了一个 SqliteDatabase,它有两列(以及其他列),其中包含纬度和经度信息。我必须检索我周围 500 米范围内的行,现在我有我当前的经纬度信息,我如何比较和检索它们?

谢谢

4

2 回答 2

1

如何比较和检索它们?

我想还有更多可能的方法。您可以使用精心设计的WHERE子句来做到这一点,但我认为性能不会很好。

因此,我建议您将所有行提取到Cursor. 然后遍历 Cursor 并将每一行的纬度和经度与您当前的位置进行比较。处于所需距离的行保存到一些辅助结构中,例如动态数组(例如列表)。

要计算两点之间的距离,您可以使用Euclidean distance。如需将度数转换为十进制,请查看这篇文章

希望它可以帮助您并使事情更清楚。

于 2013-11-11T09:58:23.180 回答
0

您可能必须使用 Haversine 公式来计算您到每个点的距离

看这里

于 2013-11-11T09:52:27.127 回答