在android中获取当前精确位置的最佳方式是什么?
我试图实现获取当前位置。我已经使用这两个代码。在android中获取当前精确位置的最佳方式是什么?
mFusedLocationClient =
LocationServices.getFusedLocationProviderClient(this);
mFusedLocationClient.getLastLocation()...
定位精度2000米
和
ReactiveLocationProvider locationProvider = new ReactiveLocationProvider(context);
locationProvider.getLastKnownLocation()...
位置acccuracy为100〜200米。
我觉得反应的位置是最准确的。有没有最好的方法来获得准确的当前位置。和任何人可以解释为什么谷歌代码不显示确切的位置?
您可以创建LocationRequest
ans setPriority
与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
感谢您的答复哥们,您的意思是使用位置更新概念对吗?或者我们可以将此设置添加到getLastKnownLocation? –
您可以使用GoogleApiClient添加locationRequest。你可以参考我在回答中提到的链接。您将会了解FusedLocationAPI的全部概念@UmakantAngadi – Kuls
他们两人都是正确的,但出于我的经验,以及反应更为准确,但在一般情况下,它们提供更高的精确度,当你给他们时间来解决。这意味着如果您实例化LocationProvider并立即尝试查询它可能无法提供最准确的位置的位置,我宁愿建议给用户一个刷新按钮,以查看该位置现在是否比前一个位置更准确。 WhatsApp位置发件人就是一个很好的例子,用户可以刷新当前位置以找到更准确的坐标。
感谢您的回复。你有什么想法为什么反应式代码比谷歌代码更好。 –
嗨@Umakant使用GogleApiClient,它会给出准确的位置 – Shanmugam