如何使用熔融定位获得良好的准确性?

时间:2018-07-25 08:03:55

标签: android location fusedlocationproviderapi android-fusedlocation

在我的应用中,我需要跟踪用户位置。为此,我使用的是FusedLocation,每隔10秒就会从中询问一次位置。不幸的是,返回的位置的精度为500.0米或164O英尺。在Android FusedLocation doc中,规定

精确到几英尺的位置更新

我的请求设置为:

    LocationRequest locationRequest = new LocationRequest();
    locationRequest.setSmallestDisplacement(10);
    locationRequest.setInterval(30000); // 30 s 
    locationRequest.setFastestInterval(10000); // 10 s
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

此外,我还要征求粗略地点和精细地点的允许。

如何获得更好的准确性?

1 个答案:

答案 0 :(得分:0)

也许您可以尝试通过NETWORK_PROVIDER询问位置,这有助于我解决用户最后一次知道的位置的问题。

这是我的处理方式:

LocationManager locationManager;
locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, locationListener);
Location lastKnownLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
LatLng userLocation = new LatLng(lastKnownLocation.getLatitude(), lastKnownLocation.getLongitude());

让我知道这是否对您有所帮助:)

最诚挚的问候,

Dimitar Georgiev