首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算与当前android GPS步行方向相反的方向

计算与当前android GPS步行方向相反的方向
EN

Stack Overflow用户
提问于 2017-07-17 17:22:00
回答 1查看 47关注 0票数 0

我这里有一小段代码。我要找的是得到用户当前的GPS行走方向(方位),然后得到相反的行走方向。

我似乎遗漏了一些关键信息,因为代码似乎在我向东北和向西行走时大部分都能工作,但当我向南行走时就失败了。

你知道怎么修复我的片段吗?

代码语言:javascript
复制
private static Location lastValidLocation;

private float getOppositeGPSMovementDirection(Location lastLocation){

    float bearing;
    if (!lastLocation.hasBearing){
        //Use bearing of the last Location with a valid bearing.
        bearing = lastValidLocation.getBearing();
    }else{
        lastValidLocation = lastLocation;
        bearing = lastLocation.getBearing(); 
    }

    //Calculate backwards direction
    int direction = (int) (bearing - 180);
    direction = direction<0?direction*-1:direction;

    return direction;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 04:33:36

你的数学有误。如果你在10度,你的对立面是190度。你的数学结果是170。正确的数学方法是:

代码语言:javascript
复制
direction = (bearing + 180) % 360;

基本上,你的假设是可以将负角度乘以-1以获得正确的角度,这是错误的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45140372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档