Есть ли способ слушать панорамирование только с помощью GoogleMaps API в Android? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть некоторый код, который мне нужно выполнить, когда пользователь просматривает карту в моем приложении, и когда начинается панорама, перетаскивается и заканчивается. Я уже посмотрел на GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE ( ссылка ), но REASON_GESTURE верно не только для панорамирования, но также для масштабирования и поворота, и я не хочу выполнять код в этих двух случаях.

Есть ли способ еще больше сузить причину только панорамирования? Если нет, знаете ли вы какой-нибудь обходной путь, который мог бы работать для прослушивания панорамирования только внутри карты и иметь разные коды для начала, перетаскивания и окончания панорамирования?

googleMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() {
        @Override
        public void onCameraMoveStarted(int reason) {
            if (reason == GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE) {
                //map is touched..do something
            }
        }
    });

1 Ответ

0 голосов
/ 30 сентября 2019

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

googleMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() {
        @Override
        public void onCameraMoveStarted(int reason) {
            CameraPosition newPosition = googleMap.getCameraPosition();
            if (reason == GoogleMap.OnCameraMoveStartedListener.REASON_GESTURE
                    && oldPosition != null
                    && oldPosition.tilt == newPosition.tilt
                    && oldPosition.zoom == newPosition.zoom
                    && oldPosition.bearing == newPosition.bearing) {
                // map is panned..do something
            }
            oldPosition = newPosition;
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...