FusedLocationProviderClient 在 Android Pie 9.0 中返回错误的纬度经度

Posted

技术标签:

【中文标题】FusedLocationProviderClient 在 Android Pie 9.0 中返回错误的纬度经度【英文标题】:FusedLocationProviderClient returns wrong latitude longitude in Android Pie 9.0 【发布时间】:2019-10-20 20:36:08 【问题描述】:

我在仅在 android Pie 中使用 FusedLocationProviderClient 获取纬度经度时遇到问题,我在 Android 版本 9.0(Pie) 以下得到了正确的位置

每次我调用 getLocation() FusedLocationProviderClient 都会提供相同的纬度。

  mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() 
                    @Override
                    public void onSuccess(Location location) 
                        if (location != null) 
                            wayLatitude = location.getLatitude();
                            wayLongitude = location.getLongitude();
                            Log.e("Location11", "" + String.format(Locale.US, "%s - %s", wayLatitude, wayLongitude));

                         else 
                            mFusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, null);
                        
                    
                );

我每次都得到相同的纬度。 喜欢 纬度- 28.303303303303 经度- 77.411411411

【问题讨论】:

“最后已知位置”不会更新,除非某些应用程序调用“requestLocationUpdates()”。也许您在该设备上遇到了一个不是最新的位置(?)打开谷歌地图并等待它指向您当前的位置在这种情况下会有所帮助。一个真正的解决方案是始终在您自己的应用程序中请求位置更新。如果您不需要持续更新,则可以在第一个结果后取消请求。 @MarkusKauppinen 我也做了同样的事情,但它在 Android Pie 下完美运行 【参考方案1】:

使用 FusedLocationProviderApi 并将 LocationRequest 优先级设置为 PRIORITY_HIGH_ACCURACY

这是用于准确获取位置的最新 API,Google 建议使用相同的 API。

检查准确性详细信息 (Android Location Providers - GPS or Network Provider?)

基本上,Google play services API 具有通过融合 GPS+NetworkProvider+被动提供商获得准确位置的智能。

【讨论】:

但 FusedLocationProviderApi 已被弃用,FusedLocationProviderClient 是我阅读 FusedLocationProviderClient 文档时最新的一个【参考方案2】:

同时提供权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

ACCESS_FINE_LOCATION 会给出正确的结果。

【讨论】:

以上是关于FusedLocationProviderClient 在 Android Pie 9.0 中返回错误的纬度经度的主要内容,如果未能解决你的问题,请参考以下文章