gpt4 book ai didi

java - 使用 distanceTo 方法

转载 作者:行者123 更新时间:2023-11-30 03:47:41 26 4
gpt4 key购买 nike

我的代码应该接受精度低于 100 的位置,如果新位置精度更小,则旧位置精度在 20 中更多,然后使用新位置。此外,如果从新位置到旧位置的距离大于 200,则使用它。

我不知道为什么,但在测试我的代码后,我在我的数据库中找到了以下位置:

enter image description here

最后 3 条记录彼此之间的距离不到 200 米,我为什么要使用它们?这是代码:

int Aloc = (int) loc.getAccuracy();
int AnewLoc = (int) newLoc.getAccuracy();
if(Aloc > AnewLoc +20)
sendTask();
else
{
float distance = loc.distanceTo(newLoc);
if(distance > 200)
sendTask();
}

此代码执行到精度小于 100 的位置。

编辑将条件更改为

if((AnewLoc+20) < Aloc)

我收到了以下记录: enter image description here

新记录比旧记录的精度更高,距离小于 200(0.01407 公里,即 14 米)。我不明白它是如何通过代码并发送到数据库的。

最佳答案

像这样改变你的检查逻辑

int Aloc = (int) loc.getAccuracy();
int AnewLoc = (int) newLoc.getAccuracy();
if(AnewLoc < ( Aloc+20))
sendTask();
else
{
float distance = loc.distanceTo(newLoc);
if(distance > 200)
sendTask();
}

这应该可行

关于java - 使用 distanceTo 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com