【发布时间】:2013-11-11 09:47:53
【问题描述】:
我在 Android 中创建了一个 SqliteDatabase,它有两列(连同其他列),其中包含纬度和经度信息。我必须检索我周围 500 米范围内的行,现在我有了我当前的经纬度信息,如何比较和检索它们?
谢谢
【问题讨论】:
标签: android location android-sqlite latitude-longitude
我在 Android 中创建了一个 SqliteDatabase,它有两列(连同其他列),其中包含纬度和经度信息。我必须检索我周围 500 米范围内的行,现在我有了我当前的经纬度信息,如何比较和检索它们?
谢谢
【问题讨论】:
标签: android location android-sqlite latitude-longitude
如何比较和检索它们?
我想还有更多可能的方法。您可以使用精心设计的WHERE 子句来做到这一点,但我认为性能不会很好。
所以我建议您将所有行提取到Cursor。然后遍历 Cursor 并将每一行的纬度和经度与您当前的位置进行比较。在所需距离内的行保存到一些辅助结构中,例如动态数组(例如列表)。
要计算两点之间的距离,您可以使用Euclidean distance。如需将度数转换为十进制,请查看this article。
希望它能帮助你,让事情变得更清楚。
【讨论】:
您可能必须使用 Haversine 公式来计算您到每个点的距离
【讨论】: