Я использую Mapbox Api с Android и пытаюсь получить текущую позицию пользователя, но я могу достичь текущего местоположения только после закрытия приложения и повторного его открытия.Я использую подобные зависимости:
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:6.8.1'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.11.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.26.0'
Буду очень признателен, если вы поможете мне понять, в чем проблема.
@SuppressWarnings({"MissingPermission"})
private void enableLocationComponent() {
locationEngine = new LocationEngineProvider(this).obtainBestLocationEngineAvailable();
locationEngine.setPriority(LocationEnginePriority.HIGH_ACCURACY);
locationEngine.activate();
Location lastLocation = locationEngine.getLastLocation();
if(lastLocation != null){
originLocation = lastLocation;
}else{
locationEngine.addLocationEngineListener(this);
}
if (PermissionsManager.areLocationPermissionsGranted(this)) {
// Get an instance of the component
LocationComponent locationComponent = map.getLocationComponent();
// Activate with options
locationComponent.activateLocationComponent(this);
// Enable to make component visible
locationComponent.setLocationComponentEnabled(true);
// Set the component's camera mode
locationComponent.setCameraMode(CameraMode.TRACKING);
// Set the component's render mode
locationComponent.setRenderMode(RenderMode.COMPASS);
originLocation = locationComponent.getLastKnownLocation();
// Log.d(TAG, "enableLocationComponent: " + locationComponent.getLastKnownLocation().getLatitude());
} else {
permissionsManager = new PermissionsManager(this);
permissionsManager.requestLocationPermissions(this);
}
}