Программно увеличить уровень масштабирования карты Android

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

mClusterManager.setOnClusterClickListener(new ClusterManager.OnClusterClickListener<MyMapCluster>() {
            @Override
            public boolean onClusterClick(Cluster<MyMapCluster> cluster) {
                float currentZoom = getMap().getCameraPosition().zoom;
                getMap().animateCamera(CameraUpdateFactory.zoomTo(currentZoom*2));
                return false;
            }
        });

Как заставить это работать?

2 ответа

Решение

Уровень масштабирования увеличивается от 1 до 21. И вы удваиваете его каждый раз. Таким образом, вы должны быть слишком закрыты, чтобы иметь возможность масштабировать дальше.

Поэтому, если вы начнете с увеличения 14, вы не сможете удвоить его.

Увеличьте масштаб, добавив 2 ( 14, 16, 18, 20, 21) каждый раз.

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

  googleMap.getUiSettings().setZoomControlsEnabled(true);

  googleMap.animateCamera(CameraUpdateFactory.zoomTo(16), 5000, null);
Другие вопросы по тегам