我正在尝试实现获取当前位置。我已经使用了这两个代码。
mFusedLocationClient =
LocationServices.getFusedLocationProviderClient(this);
mFusedLocationClient.getLastLocation()...定位精度为2000米
和
ReactiveLocationProvider locationProvider = new ReactiveLocationProvider(context);
locationProvider.getLastKnownLocation()...定位精度为100 ~ 200米。
我觉得反应式定位是最准确的。有没有最好的方法来获得准确的当前位置。有人能解释为什么google代码没有显示确切的位置吗?
发布于 2017-10-06 13:26:21
你可以用LocationRequest.PRIORITY_HIGH_ACCURACY创建LocationRequest和setPriority,它会有很高的准确率。虽然精确度取决于GPS,因为有时我可以得到10米的精确度。
protected void createLocationRequest() {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}要了解更多信息,请参阅Fused location provider
发布于 2017-10-06 13:26:56
他们两个都是正确的,尽管根据我的经验,反应式也更准确,但一般来说,当你给他们时间来解决时,他们提供了更多的准确性。这意味着如果你实例化LocationProvider并立即尝试查询位置,它可能不会提供最准确的位置,我建议给用户一个刷新按钮,看看现在的位置是否比以前的位置更准确。WhatsApp定位发送器就是一个很好的例子,用户可以通过刷新当前位置来找到更精确的坐标。
https://stackoverflow.com/questions/46598729
复制相似问题