Программно увеличить уровень масштабирования карты 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);