【问题标题】:Location using FusedLocationAPI in Android在 Android 中使用 FusedLocationAPI 定位
【发布时间】:2016-05-12 01:05:41
【问题描述】:

我正在尝试使用新的 Google 服务 API 获取位置。我正在尝试以下方法:

PendingResult<Status> pendingResult = LocationServices.FusedLocationApi.requestLocationUpdates
                (mGoogleApiClient, mLocationRequest, this);

使用以下配置:

mLocationRequest = new LocationRequest();
        mLocationRequest.setInterval(INTERVAL);
        mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

INTERVAL 和 FASTEST INTERVAL 是:

private static final long INTERVAL = 1000 * 10;
private static final long FASTEST_INTERVAL = 1000 * 5;

结果正常出现。现在的问题是 FusedLocationAPI 是获取位置的最佳方式吗?

此设置也适用于所有类型的问题:

  1. 当用户第一次在手机上查看位置时 - 安装我的应用程序并且一直没有得到位置?

  2. 当用户手机没有网络时? (这在 Nexus 5 上运行良好)

  3. 当用户开启飞行模式并开启 WIFI 时? (这在 Nexus 5 上运行良好)

  4. FusedLocationAPI 是否存在任何问题?有什么缺点吗?

【问题讨论】:

    标签: android location


    【解决方案1】:

    当用户第一次在手机上查看位置时 - 正在安装我的应用程序,但一直没有找到位置?

    当用户打开 Play 商店或任何 google 服务时,它将启动位置服务。您可以检查运行服务 > 谷歌播放服务 > 位置服务。因此它将根据网络或GPS获取位置。所以你不必担心最后的位置。

    当用户在手机上没有互联网时? (这在 Nexus 5 上运行良好)

    当用户开启飞行模式并开启 WIFI 时? (这适用于 连结 5)

    如果设备从未连接到互联网,那么它会给出空值,但如果它以适当的带宽连接一次,它就会有位置数据。

    FusedLocationAPI 有什么问题吗?有什么缺点吗?

    由于它是 Google API,因此可以更改或删除它,因此它不在我们手中。加上它完全取决于设备播放商店和版本,所以如果设备有旧版本的播放服务,那么你的包版本有时你也会看到奇怪的输出。

    希望它能消除您的疑虑和文档中已经提到的其他内容,以便您也可以检查它。

    【讨论】:

    • 太棒了。感谢您的回答。那么获取位置的最佳方法是什么?
    • @SanjanaNair 现在它是好的 api 不能说最好,但他们已经处理了 android 位置管理器的核心功能(需要太多样板代码),并带有一些共享的偏好和回调。如果您可以创建自己的完整证明实现,那么它是最好的。
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 2016-05-30
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    相关资源
    最近更新 更多