我的代码应该接受精度低于 100 的位置,如果新位置精度小于20 中的旧位置精度,则使用新位置精度。此外,如果从新位置到旧位置的距离大于 200,则使用它。
我不知道为什么,但在测试我的代码后,我在我的数据库中得到了以下位置:
最后3条记录相距不到200m,我怎么用它们?这是代码:
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)
我收到以下记录:
新记录比旧记录精度更高,距离小于200(0.01407公里,即14米)。我不明白它是如何通过代码传递到数据库的。