0

我有一个应用程序,用户可以在其中标记家庭、办公室等位置。这些位置的纬度和经度数据存储在 sqlite DB 中。我定期检查用户的当前位置。我想检查用户当前位置是否落在标记位置的半径内。

例如,用户家的坐标是 (a,b) 如何查找当前坐标 (m,n) 是否落在家的 0.5 公里半径内。

4

3 回答 3

3

您可以使用Location.distanceTo()orLocation.distanceBetween()方法测量两个位置之间的距离。如果计算出的距离小于 500m,则在规定的半径范围内。希望这可以帮助。

于 2012-08-19T06:21:29.693 回答
1

对于两个坐标之间的距离测量,您可以在此处找到解决方案:

计算两个地理位置之间的距离

您还可以进行数据库查询以按距离对记录进行排序: http: //forums.phpfreaks.com/index.php?topic=175951.0

于 2012-08-19T10:19:21.873 回答
0

或者,老式的方法:半径 = sqrt( (ma)^2 + (nb)^2 ) 假设平坦的地球模型。一旦你的距离非常大,这个公式就不再适用

于 2012-08-19T10:01:36.553 回答