这里有点遗失:我需要将Mapbox的API从4.xx-beta更新为5.xx以及许多其他内容,例如xml属性的名称,获取访问令牌的方式和位置服务已经改变。我处理了前两项感谢documentation,但似乎无法使LocationServices方法正常工作。 Android Studio告诉我它无法解析诸如getLocationServices()
或getLastLocation()
的方法。下面是我的代码看起来像,这就是使用Mapbox 4.x的工作:Android Studio无法识别的Mapbox方法
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这里(“获取位置更新”一节),我应该LostLocationEngine类复制到我的项目。当我这样做时,它无法访问LocationRequest.java丢失API类的一些字段,即interval
,fastestInterval
和smallestDisplacement
。 我发现this问题与真正类似的问题,并试图编译几种Mapbox API的组合,但没有运气。
我错过了什么吗?
你试过这个:LocationEngine locationEngine = LocationSource.getLocationEngine(this);正如他们所说的“在5.0中,我们对开发人员获取用户位置信息的方式进行了重大更改” – Nisarg
不是。这是否意味着我需要使用LocationEngine来代替Mapbox 5.x中的LocationServices? – lidkxx
找到了这个:https://www.mapbox.com/android-sdk/examples/user-location/我可以使用它。如果我完成了这个工作,我会发布一个答案。 – lidkxx