Android Studio 无法识别 Mapbox 方法

Mapbox Methods Not Recognized by Android Studio

这里有点迷失:我需要将 Mapbox 的 API 从 4.x.x-beta 更新到 5.x.x 和一些东西,例如 xml 属性'名称、获取访问令牌的方式和位置服务已更改。由于 documentation,我处理了前两个,但似乎无法使 LocationServices 方法起作用。 Android Studio 告诉我它无法解析 getLocationServices()getLastLocation() 等方法。这是我的代码的样子,这就是用于 Mapbox 4.x:

的代码
package com.example.myapp.interactor;

import android.location.Location;

import com.mapbox.mapboxsdk.location.LocationServices;

import com.example.myapp.MyApp;

public class GpsInteractor {

    private LocationServices locationServices;

    public GpsInteractor() {
        locationServices = LocationServices.getLocationServices(MyApp.applicationContext());
    }

    public Location lastKnownLocation() {
        return locationServices.getLastLocation();
    }
}

因此,根据 documentation here ("Getting Location Updates" section), I should copy LostLocationEngine class 我的项目。当我这样做时,它无法访问 LocationRequest.java LOST API class 中的某些字段,即 intervalfastestIntervalsmallestDisplacement。 我发现 问题与问题非常相似,并尝试编译 Mapbox API 的几种组合,但没有成功。

我错过了什么吗?

如果您还没有修改地图 locationSource, LocationEngine locationEngine = LocationSource.getLocationEngine(this) 将 return 使用默认的 LOST 位置引擎。从 5.0.0 开始,LocationEngine 取代了 LocationServices class。例如,要获取最后已知的用户位置,您可以这样做:

LocationEngine locationEngine = LocationSource.getLocationEngine(this)
locationEngine.getLastLocation();

您可以在 new documentation here 中阅读有关 LocationEngine 的更多信息。