0

我想知道如何在手机不移动超过 10 米的情况下使用 gps 或网络提供商生成一个位置,这意味着您在家中或在同一个地方。

我猜 minTime 参数并不重要(当然是说 requestLocationUpdates 方法), minDistance 是应该产生差异的参数。我试图将值设置为 100m,但我在我没有移动的情况下不断获取位置(可能 1 米..在我睡觉时进行了测试)所以我不断提高值并在 500 米处停了下来!因为它变得无用了。

也许有一种方法可以检查两个位置之间的距离?或者接收有关手机移动的信息?

4

1 回答 1

1

请记住,GPS 精度约为 +/- 20 米。再加上由于环境条件导致的可用卫星信号可能出现的波动,这意味着报告的位置会发生一定程度的变化,即使对于固定设备也是如此。

唯一对您不起作用的原因minDistance是,如果它正在为您提供报告位置小于您请求的最小距离的位置。LocationManager只能与报告的职位一起工作;它没有其他方法可以确定设备是否真的在移动。

如果您检查您LocationListenerminDistance. 另一方面,如果问题是由于 GPS 子系统认为设备正在移动(因此位置相差超过minDistance),您正在获得修复,那是 GPS 和您的硬件的限制,您无能为力这样做。

于 2013-01-27T23:02:50.520 回答