Mapbox LoactionComponent return Проблема местоположения - PullRequest
0 голосов
/ 03 мая 2019

Я использую LocationComponent, чтобы показать местоположение пользователя на карте, без навигации.Мой компонент всегда возвращает местоположение каждые 20 секунд, даже если я пытаюсь передать locationRequest с другим интервалом времени.

Это для последней версии Mapbox, извините за беспорядок, но я пробовал много разных способовкак это сделать

 @SuppressWarnings({"MissingPermission"})
    private void enableLocationComponent() {
        if (parentActivity != null) {
            if (PermissionsManager.areLocationPermissionsGranted(parentActivity)) {
                LocationComponentOptions options = LocationComponentOptions.builder(getActivity())
                        .trackingGesturesManagement(true)
                        .accuracyColor(ContextCompat.getColor(getContext(), R.color.colorBlueLight))
                        .build();

                //----- Prueba
                LocationComponentActivationOptions locationComponentActivationOptions = LocationComponentActivationOptions
                        .builder(parentActivity,  map.getStyle())
//                        .locationEngine(locationEngine)
//                        .locationEngineRequest(request)
                        .locationComponentOptions(options)
                        .useDefaultLocationEngine(true)
                        .build();

                // Get an instance of the component
                locationComponent = map.getLocationComponent();

                // Activate with options
               // locationComponent.activateLocationComponent(parentActivity, map.getStyle(), options);


                // Prueba
                locationComponent.activateLocationComponent(locationComponentActivationOptions);

                // Enable to make component visible
                locationComponent.setLocationComponentEnabled(true);

                // Set the component's camera mode
                locationComponent.setCameraMode(CameraMode.TRACKING_GPS);
                locationComponent.setRenderMode(RenderMode.GPS);
               // locationComponent.setLocationEngine(locationEngine);
                initializeLocationEngine();
                makeMyLocation();

            } else {
                mapView.setEnabled(false);
                permissionsManager = new PermissionsManager(this);
                permissionsManager.requestLocationPermissions(parentActivity);
            }
        }
    }

И затем я передаю свой запрос:

   @SuppressLint("MissingPermission")
    private void initializeLocationEngine() {
        if(getParentActivity().getState() == STATE_AVAILABLE){
            interval = intervalAvailable;
        }else{
            interval = intervalTravelling;
        }
//        if(locationEngine == null){
//            locationEngine = LocationEngineProvider.getBestLocationEngine(parentActivity);
//        }
        request = buildEngineRequest(interval);
        locationComponent.getLocationEngine().requestLocationUpdates(request, callback, getMainLooper());
 }

Я ожидаю, что смогу передавать разные запросы locationRequests в зависимости от потребностей моего приложения в различных ситуациях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...