在android中获取当前准确位置的最佳方法是什么?

时间:2017-10-06 05:20:07

标签: android geolocation location rx-android android-gps

我正在尝试获取当前位置。我已经使用了这两个代码。

 mFusedLocationClient =
 LocationServices.getFusedLocationProviderClient(this);
 mFusedLocationClient.getLastLocation()...

位置精度为2000米

ReactiveLocationProvider locationProvider = new  ReactiveLocationProvider(context);
locationProvider.getLastKnownLocation()...

位置准确度为100至200米。

我觉得反应位置最准确。有没有最好的方法来获得准确的当前位置。任何人都可以解释为什么谷歌代码没有显示确切的位置?

2 个答案:

答案 0 :(得分:1)

您可以使用LocationRequest创建setPriority ans LocationRequest.PRIORITY_HIGH_ACCURACY,并且准确度很高。虽然准确度取决于GPS,但有时我会得到10米的准确度。

 protected void createLocationRequest() {
        mLocationRequest = new LocationRequest();
        mLocationRequest.setInterval(INTERVAL);
        mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    }

要了解更多信息,请参阅Fused location provider

答案 1 :(得分:0)

它们都是正确的,虽然我的经验也是如此,Reactive更准确,但总的来说,当你给他们时间来解决时,它们提供了更多的准确性。这意味着如果你实例化LocationProvider并立即尝试查询它可能无法提供最准确位置的位置,我宁愿建议给用户一个刷新按钮,看看现在的位置是否比前一个更准确。 WhatsApp位置发送者就是一个很好的例子,用户可以刷新当前位置以找到更准确的坐标。