0

我正在使用 Google 的 fusedlocationproviderclient 使用前台服务在 android 上实时跟踪用户的位置。我注意到有时 fusedlocationproviderclient 连续多次返回相同的位置。截至目前我观察到,有时 fusedlocationproviderclient 返回非常不准确的位置(大约 700m)

早些时候,我曾经使用 Location_Services 跟踪位置,但为了减少电池消耗,我转移到了 fusedlocationproviderclient。我已将 fusedlocationproviderclient 优先级设置为高精度。我已将 minDisplacement 设置为 100m。

这是我的位置对象

private void createLocationRequest() {
    mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(10000);
    mLocationRequest.setFastestInterval(10000);
    mLocationRequest.setSmallestDisplacement(100);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}

我期待它应该返回准确的位置。当我在静态地图上显示跟踪位置时,由于位置不正确,地图中会出现一条直线。

4

1 回答 1

0

我会检查您在清单中设置的位置权限类型。

您有 2 个可用:

ACCESS_COARSE_LOCATION - 这将允许您访问大概位置

ACCESS_FINE_LOCATION - 这个可以让你访问一个精确的,我相信这是你想要的。

于 2019-06-03T08:12:25.333 回答