Android Studio无法识别Mapbox方法

时间:2017-06-06 13:27:59

标签: android mapbox

在这里有点迷失:我需要将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这里(“获取位置更新”部分),我应该将LostLocationEngine类复制到我的项目中。当我这样做时,它无法访问LocationRequest.java LOST API类中的某些字段,即intervalfastestIntervalsmallestDisplacement。 我发现this问题的问题非常类似,并尝试编译Mapbox API的几种组合,但没有运气。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

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

您可以在new documentation here

中详细了解LocationEngine