如何为我的ClusterManager使用onClusterItemRendered等函数?

时间:2015-07-25 17:00:56

标签: java android google-maps markerclusterer

我正在尝试在我的群集Google地图上引用我的标记(不使用getMarkerCollections) 但我无法找到覆盖此功能的位置。

我做了一个典型的ClusterManager工作正常, 但我不能在该课程的任何地方覆盖该功能。

我是否需要为此制作一个自定义类,我该怎么做?

1 个答案:

答案 0 :(得分: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));