Android Studio无法识别Mapbox方法

Android Studio无法识别Mapbox方法,android,mapbox,Android,Mapbox,这里有点迷糊了:我需要将Mapbox的API从4.x.x-beta更新到5.x.x,并且一些事情,比如xml属性的名称、获取访问令牌和位置服务的方式已经改变。多亏了,我处理了前两个问题,但似乎无法使LocationServices方法起作用。Android Studio告诉我,它无法解析诸如getLocationServices()或getLastLocation()之类的方法。下面是我的代码的外观,这是使用Mapbox 4.x时的外观: package com.example.myapp.in

这里有点迷糊了:我需要将Mapbox的API从4.x.x-beta更新到5.x.x,并且一些事情,比如xml属性的名称、获取访问令牌和位置服务的方式已经改变。多亏了,我处理了前两个问题,但似乎无法使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();
    }
}
所以,根据这里(“获取位置更新”部分),我应该将类复制到我的项目中。当我这样做时,它无法访问LocationRequest.java丢失的API类中的一些字段,即
interval
fastestInterval
smallestDisplacement
。 我发现这个问题有着非常相似的问题,并尝试编译了几个Mapbox API组合,但没有成功


我错过什么了吗

如果您尚未修改maps locationSource,
LocationEngine LocationEngine=LocationSource.getLocationEngine(this)
将返回正在使用的默认丢失位置引擎。从
5.0.0
LocationEngine开始替换LocationServices类。例如,要获取最后一个已知的用户位置,可以执行以下操作:

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

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

是否尝试了以下方法:LocationEngine LocationEngine=LocationSource.getLocationEngine(this);正如他们所说,“在5.0中,我们对开发人员获取用户位置信息的方式进行了重大更改”否。这是否意味着我需要使用LocationEngine来代替Mapbox 5.x中的LocationServices?我发现:我可能能够解决这个问题。如果我完成了,我会发布一个答案。好的,我肯定会对其他人有所帮助。检查我刚才说的答案谢谢!它帮助解决了这个特殊的错误,现在又出现了一堆其他的错误,可能是无关的。有没有可能是因为一个无效的令牌,Android在扩展我的MapView xml时遇到了问题,似乎这与试图在我的MapActivity中而不是在我的BaseActivity中获取访问令牌有关。还值得注意的是:从Mapbox 4.x迁移到Mapbox 5.x时,我必须在清单文件中更改为。实际上,您甚至不需要在清单中包含遥测服务,我们正在使用最新版本的Android清单合并为您处理此问题。