我正在尝试在我的群集Google地图上引用我的标记(不使用getMarkerCollections
)
但我无法找到覆盖此功能的位置。
我做了一个典型的ClusterManager
工作正常,
但我不能在该课程的任何地方覆盖该功能。
我是否需要为此制作一个自定义类,我该怎么做?
答案 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));