我是否应该考虑使用融合位置提供者而不是其他提供者?

时间:2018-08-18 08:02:33

标签: android location android-fusedlocation

我想每次单击按钮时都检索用户的位置数据。我的问题是,融合位置提供程序如何工作?它使用什么机制来检索位置数据?就准确性而言,哪个提供者更好?我可以引用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有什么意义?

0 个答案:

没有答案