Как я могу использовать такие функции, как onClusterItemRendered, для моего ClusterManager?

Я пытаюсь получить ссылку на свои маркеры (без использования getMarkerCollections) на моей кластеризованной карте Google, но не могу найти, где переопределить эту функцию.

Я сделал типичную ClusterManager, которая отлично работает, но я не могу переопределить функцию в этом классе.

Нужно ли мне создавать собственный класс для этого и как мне это сделать?


person Jacob Platin    schedule 25.07.2015    source источник
comment
Что именно ты пытаешься сделать? Взгляните на этот ответ на всякий случай, если он поможет: stackoverflow.com/questions/30958224/   -  person Daniel Nugent    schedule 25.07.2015
comment
@DanielNugent спасибо за быстрый ответ, но я пытаюсь получить ссылку на все маркеры на моей карте, а затем добавить их в список. Вы прокомментировали мой другой вопрос, но я думаю, что это лучший вопрос.   -  person Jacob Platin    schedule 25.07.2015


Ответы (1)


Чтобы ответить на ваш вопрос напрямую, вам нужно будет создать собственный класс, который расширяет DefaultClusterRenderer, а затем переопределить метод onClusterItemRendered():

public class MyRenderer extends DefaultClusterRenderer<MyItem> {

    public MyRenderer(Context context, GoogleMap map, ClusterManager<MyItem> clusterManager) {
        super(context, map, clusterManager);
    }

    @Override
    protected void onClusterItemRendered(MyItem clusterItem,
                                         Marker marker) {
        super.onClusterItemRendered(clusterItem, marker);

        //other stuff......
    }
}

Затем вы должны вызвать метод setRenderer() и передать ему новый экземпляр вашего объекта MyRenderer:

mClusterManager.setRenderer(new MyRenderer(this, mMap, mClusterManager));
person Daniel Nugent    schedule 25.07.2015
comment
У меня есть короткий актуальный вопрос, который я хотел вам задать: есть ли способ получить ссылку на сгруппированный маркер (например, на сгруппированный маркер, а не на сам кластерный круг)? - person Jacob Platin; 26.07.2015
comment
@jacob, вероятно, в этом нет необходимости. Можете ли вы точно объяснить, что вам нужно функционально, что не включено в ответ, на который я ссылаюсь? Я могу помочь направить вас в правильном направлении. - person Daniel Nugent; 26.07.2015