Android带半径的经纬度

Android带半径的经纬度,android,sqlite,latitude-longitude,Android,Sqlite,Latitude Longitude,我有一个应用程序,用户在其中标记位置,如家、办公室等。这些位置的纬度和经度数据存储在sqlite DB中。我定期检查用户的当前位置。我想检查用户当前位置是否位于标记位置的半径范围内 例如,home的用户坐标是(a,b)如何确定当前坐标(m,n)是否在home的0.5公里半径范围内。您可以使用Location.distanceTo()或Location.DistanceBeween()方法测量两个位置之间的距离。如果计算的距离小于500m,则该距离低于要求的半径。希望这有帮助。您可以使用Locat

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


例如,home的用户坐标是(a,b)如何确定当前坐标(m,n)是否在home的0.5公里半径范围内。

您可以使用
Location.distanceTo()
Location.DistanceBeween()方法测量两个位置之间的距离。如果计算的距离小于500m,则该距离低于要求的半径。希望这有帮助。

您可以使用
Location.distanceTo()
Location.distanceBetween()方法测量两个位置之间的距离。如果计算的距离小于500m,则该距离低于要求的半径。希望这能有所帮助。

或者,老式的方法:radius=sqrt((m-a)^2+(n-b)^2)假设地球是平坦的。一旦你的距离非常大,这个公式就不再适用了,或者用老式的方法:半径=sqrt((m-a)^2+(n-b)^2)假设地球是平坦的。一旦距离非常大,此公式不再适用于两个坐标之间的距离测量,您可以在此处找到解决方案:

您还可以通过数据库查询按距离对记录进行排序:

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

您还可以通过数据库查询按距离对记录进行排序:

我们有一个赢家,如果SDK有这些方法,则不需要复杂的解决方案。我们有一个赢家,如果SDK有这些方法,则不需要复杂的解决方案。