0

我目前正在开发一个应用程序,我想检查手机是否在某个位置附近。该位置是从附有位置的对象列表中加载的。位置存储为经度和纬度双精度值。当前位置(从 GPS 适配器接收到的女巫)也以双精度形式临时存储。

现在我知道我可以使用 if 语句来检查 latitude==current_latitude。但我想对其应用一定的余量。我想检查我是否在(例如)距离存储位置 1000 米的区域。我尝试了一些谷歌搜索但没有成功,因为我不确定要寻找什么。如果有人能指出我正确的方向,那将不胜感激。

提前致谢!

4

1 回答 1

1

如果您在该位置周围的圆圈内,您就在该位置附近。
如果点到圆心的距离小于圆的半径,则该点在圆内:

例如设置半径 = 1000m。使用Location类的距离计算:然后

// radius in meter
double radius = 1000;

Location curLoc;
Location destination;
       ...
if (curLoc.distanceTo(destination) < radius)) {
isInside = true;
}
于 2013-06-11T17:56:58.057 回答