LocationRequest最小位移和准确度

Gyo*_*ome 9 android location geolocation google-play-services

我正在构建一个Android应用程序,我需要在非常高的频率上拥有一个非常准确的位置.我潜入谷歌播放服务api的位置,并发现LocationRequest.setSmallestDisplacement非常有用,以限制电池消耗.

然而,当我在室内进行测试时,即使我将请求的优先级设置为高精度,我获得的位置也会有很大的变化(有时10米,有时是96米......).

我的prob1em是setSmallestDisplacement没有给出关于最后返回的准确性的sh*.因此,如果我得到一个精度非常低的位置,我仍然需要走"最小位移"距离才能得到一个新位置,希望更精确.

我想知道是否有办法避免这样的数据(我不能使用不够准确的位置)或者我必须跳过setSmallestDisplacement部分(电池消耗不好).

一些代码为您带来愉悦:

mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(100); //We get a new location every 100ms or so
//mLocationRequest.setSmallestDisplacement(5);  //but only if we traveled 5m
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
Run Code Online (Sandbox Code Playgroud)

谢谢.

Sul*_*ain 6

"LocationRequest.setSmallestDisplacement"与准确性无关,只是为了避免不必要的更新,您可以继续使用它.

没有方法可以提高低精度,只需要准确一点(更好或更差),如果你对低精度位置不感兴趣,只需跳过这个位置并等待更好的位置.

此页面可以帮助您准确度和消耗量,但请注意,不存在完美的准确性,Wi-Fi的准确度为100米,准确性较差.

在这里,您可以获得每个优先级的准确性
https://developer.android.com/training/location/receive-location-updates.html#location-request

这里来自Google工程师的IO Session非常有用,你也可以在那里获得PDF.
https://developers.google.com/events/io/sessions/325337477

更新链接brokens

PDF演示文稿

IO会议

希望这会有所帮助:D.

  • 不确定我看到这有多大帮助.如果提问者更准确,那么他们希望获得距离最小的位置.除非我误解了? (2认同)