這裏有點遺失:我需要將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