Текущее местоположение не отображается сразу - PullRequest
0 голосов
/ 28 января 2019

Я использую 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);
        }
    }
...