Cluster computing 集群标记器单击事件

Cluster computing 集群标记器单击事件,cluster-computing,marker,Cluster Computing,Marker,我正在使用utils库中提供的谷歌地图标记集群。单击集群时,不会调用下面的onClusterClick方法。是否存在群集单击事件 @Override public boolean onClusterClick(Cluster<MyItem> cluster) { return true; } @覆盖 公共布尔onClusterClick(集群) { 返回true; } 您需要在以下操作之前添加此行: map.

我正在使用
utils库
中提供的谷歌地图标记集群。单击集群时,不会调用下面的
onClusterClick
方法。是否存在
群集单击事件

 @Override
    public boolean onClusterClick(Cluster<MyItem> cluster)
    {        
        return true;
    }
@覆盖
公共布尔onClusterClick(集群)
{        
返回true;
}

您需要在以下操作之前添加此行:

map.setOnMarkerClickListener(yourClusterManager);

以下是如何实现您的需求的方法,即单击群集或群集项

mapSupportFragment.getMapAsync(new OnMapReadyCallback() {
    @Override
    public void onMapReady(GoogleMap googleMap) {

        mMap = googleMap; //(Here mMap is my GoogleMap object declared & was initialized).

        // Initialize the manager with the context and the map.
        mClusterManager = new ClusterManager<AppClusterItem>(MFragmentActivity.this, mMap);
        mClusterManager.setRenderer(new MyCustomRender(MFragmentActivity.this, mMap, mClusterManager)); 
        // Here which I used is my custom rendering class

        // Point the map's listeners at the listeners implemented by the cluster manager.
        mMap.setOnCameraChangeListener(mClusterManager);
        mMap.setOnMarkerClickListener(mClusterManager);

        mClusterManager.setOnClusterClickListener(new ClusterManager.OnClusterClickListener<AppClusterItem>() {
            @Override
            public boolean onClusterClick(Cluster<AppClusterItem> cluster) {

                Log.e("I clicked @ ", "Cluster which consumes whole list of ClusterItems");
                return false;
            }
        });

        mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<AppClusterItem>() {
            @Override
            public boolean onClusterItemClick(AppClusterItem item) {
                Log.e("I clicked @ ", "Cluster Item");
                return false;
            }
        });
    }
});
mapSupportFragment.getMapAsync(新的OnMapReadyCallback(){
@凌驾
4月1日公开作废(谷歌地图谷歌地图){
mMap=googleMap;//(这里mMap是我的googleMap对象已声明并已初始化)。
//使用上下文和映射初始化管理器。

mClusterManager=new ClusterManager。

可能为时已晚,但如果有人想知道: 只需在您的ckusterManager上设置OnClusterItemClciklListener:

        mClusterManager.setOnClusterItemClickListener(this);
然后让类实现ClusterManager.OnClusterItemClickListener

activity a implements ClusterManager.OnClusterItemClickListener .... 
然后最后打电话

 @Override
public boolean onClusterItemClick(ClusterItem clusterItem) {
    Toast.makeText(getActivity(), "clciked", Toast.LENGTH_SHORT).show();
    return true;
}