Как изменить изображение кластера в зависимости от количества включенных маркеров в Android?

Следующее изображение содержит различные стили кластера в зависимости от его размера. Это именно то, что я пытаюсь сделать с Android. я использую ClusterManager от android-maps-util,

введите описание изображения здесь

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

gmap.mc.styles_ = [{ url: markersBaseLocation + 'm1.png', height: 53, width: 53 }, { url: markersBaseLocation + 'm2.png', height: 56, width: 57 }, { url: markersBaseLocation + 'm3.png', height: 66, width: 66 }, { url: markersBaseLocation + 'm4.png', height: 78, width: 78 }, { url: markersBaseLocation + 'm5.png', height: 90, width: 90 }];

1 ответ

Решение

Вы можете сделать это, предоставив свой собственный Renderer.

mClusterManager.setRenderer(new DefaultClusterRenderer<MyItem>(mContext, googleMap, mClusterManager) {
        @Override
        protected void onBeforeClusterRendered(Cluster<MyItem> cluster, MarkerOptions markerOptions) {
            // use cluster.getSize() to get the number of markers inside the cluster.
        }

Демо-код для этого можно найти по https://github.com/googlemaps/android-maps-utils.git. Загляните внутрь "CustomMarkerClusteringDemoActivity.java"

Другие вопросы по тегам