Можно ли отключить анимацию кластеризации с помощью DefaultClusterRenderer и ClusterManager?

#android #google-maps #google-maps-markers #google-maps-android-api-2

#Android #google-карты #google-карты-маркеры #google-maps-android-api-2

Вопрос:

Используя google maps api v2 для Android и библиотеку кластеризации (средство визуализации и менеджер) Google-Map-Utils.

Можно ли отключить анимацию, когда два или более маркеров сгруппированы вместе?

Ответ №1:

Да, вы можете отключить анимацию. Я полагаю, у вас есть ссылка на проект Google-Map_Utils. Оно управляется частным логическим полем SHOULD_ANIMATE в DefaultClusterRenderer.java в пакете com.google.maps.android.clustering.view.

Шаги, которые нужно сделать:

  • Открыть DefaultClusterRenderer.java в пакете com.google.maps.android.clustering.view;
  • Найдите следующую строку:

частное статическое конечное логическое значение SHOULD_ANIMATE = Build .VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;

  • Просто установите значение переменной SHOULD_ANIMATE равным false:

частное статическое конечное логическое значение SHOULD_ANIMATE = false;

Комментарии:

1. интересно, почему они объявили его закрытым, если ожидается, что разработчик захочет повлиять на это .. это глупость. как я могу повлиять на это, не редактируя код сейчас? кажется, я не могу. Скопируйте декомпилированный класс и сохраните его как мой класс.

Ответ №2:

В последних версиях утилит Google-Map существует общедоступный метод

 renderer.setAnimation(false)