Как остановить LocationDisplayManager прослушиванием обновлений местоположения ESRI ArcGiS Android 10.2.9?

 LocationDisplayManager lDisplayManager = null;

    lDisplayManager = mMapView.getLocationDisplayManager();
    lDisplayManager.setAutoPanMode(LocationDisplayManager.AutoPanMode.OFF);

    lDisplayManager.setLocationListener(new LocationListener() {


        @Override
        public void onLocationChanged(Location location) {

            double locy = location.getLatitude();
            double locx = location.getLongitude();

            SetMyLocationPoint(locx, locy);

        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }
    });

Используя приведенный выше код, я смог получить текущее местоположение пользователя и отобразить его на карте. Он отлично работает, проблема возникает, когда пользователь перемещается из одного места в другое, карта также обновляется. В моем сценарии приложения местоположение должно быть выбрано только один раз, когда пользователь нажимает кнопку LOCATE ME, когда нет необходимости получать продолжение местоположения от пользователя.

Я пробовал следующие коды

this.lDisplayManager.stop();
mMapView.getLocationDisplayManager().stop();
lDisplayManager.setLocationListener(null);

Выше код работает, но я должен вызвать их вручную, чтобы остановить обновления местоположения. Есть ли альтернативный способ получения местоположения только один раз вместо продолжения.

0 ответов

Другие вопросы по тегам