我在Android中创建了一个SqliteDatabase,它有两列(以及其他列),包含纬度和经度信息。我必须在我周围的500米圆圈内找到行,现在我有当前的纬度和经度信息,如何比较和检索它们?
感谢
答案 0 :(得分:1)
如何比较和检索它们?
我想有更多可能的方法。你可以用精心设计的WHERE
条款做到这一点,但我认为性能不会很好。
所以我建议您将所有行都提取到Cursor
。然后循环通过Cursor并将每行的纬度和经度与当前位置进行比较。在所需距离的行保存到某个辅助结构中,例如保存到动态数组(例如List)。
要计算两点之间的距离,您可以使用Euclidean distance。要将度数转换为十进制,请查看this article。
希望它可以帮助你,让事情更清楚。
答案 1 :(得分:0)
你可能不得不使用Haversine公式计算出自己与每个点之间的距离