【发布时间】:2016-01-16 15:13:22
【问题描述】:
我正在为自己开发一个模拟位置应用程序,并且到目前为止取得了很好的成功。 我可以设置所需的位置,它会显示在谷歌地图中。
我的问题是,有时位置会切换到我的 nexus 7 LTE (2013) 与 Android 6.0.1 的 gps 模块提供的真实位置。
我将位置服务设置为仅设备,并使用提供程序 LocationManager.GPS_PROVIDER
这是我用来设置所需位置的:
newLocation.setLatitude(lat);
newLocation.setLongitude(lon);
newLocation.setTime(System.currentTimeMillis());
newLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
newLocation.setSpeed((float) (speed / 3.6));
accuracy = (float) generateRandomDouble(ACCURACY_MIN, ACCURACY_MAX);
newLocation.setAccuracy(accuracy);
newLocation.setAltitude(altitude);
我是怎么解决这个问题的:
- 每 200 毫秒设置一个新位置
- 将时间戳设置到未来
- 始终将精度设置为 1
类似于Mock GPS location issue 之类的位置模拟问题也无济于事。
我注意到的是,如果 gps 无法获得良好的信号,这些跳跃发生的频率会降低。
有人对如何避免这些“跳跃”有建议吗?
【问题讨论】:
-
我认为你应该更新标题。它似乎没有正确反映您的问题。
-
我尝试更改它。随时恢复。
-
谢谢这好多了
-
解决方案怎么样。我面临同样的问题。你有什么解决办法吗?
-
不,没有解决方案,但我不再需要这个了。