Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как постоянно применять ограничения LatLng

Автор вопроса: JeongbebsОтветов: 1

У меня есть переменная LatLngBounds на моей карте Google:

LatLngBounds QC = new LatLngBounds(
      new LatLng(14.656669, 120.998598), new LatLng(14.666965, 121.098934));

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

map.setOnCameraChangeListener(new OnCameraChangeListener() {

            @Override
            public void onCameraChange(CameraPosition arg0) {

                // adding marker

                if(arg0.zoom <12){

                    map.animateCamera(CameraUpdateFactory.newLatLngZoom(QC.getCenter(), 12));
                }

            }
        });

Однако, если я не изменю уровень масштабирования ниже 12, я все равно смогу перейти к другим странам на карте. Любые идеи о том, как применить камеру в LatLngBounds? Пожалуйста помоги! Спасибо!

google-mapsandroidcameralatitude-longitude

Ответы

Ответ 1 · user2558461

Вы можете проверить цель в CameraPosition arg0. Сохраните последний известный CameraPosition, а затем: используйте QC.contains(arg0.target), чтобы увидеть, находится ли цель в границах. если не. установить камеру на предыдущую CameraPosition. Надеюсь это поможет.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы