【问题标题】:comparing GPS cordinates with a certain margin比较具有一定余量的 GPS 坐标
【发布时间】:2013-06-11 17:48:33
【问题描述】:

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

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

提前致谢!

【问题讨论】:

    标签: android gps


    【解决方案1】:

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

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

    // radius in meter
    double radius = 1000;
    
    Location curLoc;
    Location destination;
           ...
    if (curLoc.distanceTo(destination) < radius)) {
    isInside = true;
    }
    

    【讨论】:

    • 如此简单,但正是我所需要的。谢谢分配!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多