我有一个应用程序,其中用户标记位置,如家庭,办公室等。这些位置的纬度和经度数据存储在sqlite DB中。我定期检查用户的当前位置。我想检查用户当前位置是否落在标记位置的半径内。
例如,家庭的用户坐标是(a,b)如何找到当前坐标(m,n)是否在半径0.5公里的家中。
答案 0 :(得分:3)
您可以使用Location.distanceTo()
或Location.distanceBetween()
方法测量两个位置之间的距离。如果计算的距离小于500米,则低于所需半径。希望这会有所帮助。
答案 1 :(得分:1)
对于两个坐标之间的距离测量,您可以在此处找到解决方案:
Calculating distance between two geographic locations
您还可以进行数据库查询以按距离对记录进行排序: http://forums.phpfreaks.com/index.php?topic=175951.0
答案 2 :(得分:0)
或者,老式的方式:radius = sqrt((m-a)^ 2 +(n-b)^ 2)假设平地球模型。一旦你的距离非常大,这个公式就不再适用了