我想每次单击按钮时都检索用户的位置数据。我的问题是,融合位置提供程序如何工作?它使用什么机制来检索位置数据?就准确性而言,哪个提供者更好?我可以引用accuracy
实例的Location
值吗?
我已经测试了GPS,网络和融合提供商提供的位置,并比较了getAccuracy()
值。网络提供商始终具有最差的准确性值,有时是数百甚至有时是数千。 GPS具有非常好的精度值,大约为4.0-8.0,如果在室外,它的精度可以低至1点。 Fused提供程序的准确性值很奇怪。它始终是10.0,并且从未更改,这是正常的吗?这个价值值得信赖吗?
下面是我用来通过融合提供程序检索位置数据的简单代码:
FusedLocationProviderClient fusedLocation = LocationServices.getFusedLocationProviderClient(mContext);
fusedLocation.getLastLocation().addOnSuccessListener((Activity)
mContext, new OnSuccessListener<Location>()
{
@Override
public void onSuccess(Location location)
{
if(location != null)
{
postBack.onFusedLocationProviderComplete(location);
}
}
})
并且由于引入了融合位置提供程序,使用旧的android.location
API有什么意义?