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 中的某些字段,即 interval
、fastestInterval
和 smallestDisplacement
。
我发现 问题与问题非常相似,并尝试编译 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 的更多信息。
这里有点迷失:我需要将 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 中的某些字段,即 interval
、fastestInterval
和 smallestDisplacement
。
我发现
我错过了什么吗?
如果您还没有修改地图 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 的更多信息。