2017-02-21 18 views
1

我已经在我的应用程序中使用了群集,并且我还希望某些标记未被群集(例如它不应该是群集的成员)。现在我要单独标记点击。因为我对不同的标记有不同的操作。我已经提到了这个SO link,我遵循了他们的步骤。如何为Android集群和普通标记分别单击事件?

我已经花了两个不同的集群管理器

1)NORMAL MARKER:

MarkerManager customNewMarkerManager = new MarkerManager(googleMap); 
customNewMarkerManager.newCollection("DEMO").addMarker(new MarkerOptions().position(new LatLng(latitudemy, longitudemy)).icon(icon)); 
googleMap.setOnMarkerClickListener(customNewMarkerManager); 

customNewMarkerManager.getCollection("DEM").setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
@Override 
public boolean onMarkerClick(Marker marker) { 
// other logic here 
return false; 
} 
}); 

2)聚类MARKER现在

ClusterManager mClusterManager = new ClusterManager<ModelLocation>(getActivity(), googleMap); 
mClusterManager.setRenderer(new PersonRenderer()); 
googleMap.setOnCameraIdleListener(mClusterManager); 
googleMap.setOnMarkerClickListener(mClusterManager); 
mClusterManager.setOnClusterClickListener(this); 
mClusterManager.setOnClusterItemClickListener(this); 
for (int i = 0; i < markerArrayList.size(); i++) { 
mClusterManager.addItem(markerArrayList.get(i)); 
} 
mClusterManager.cluster(); 

,发生了什么,我不能让任何点击事件。 不是这一个customNewMarkerManager.getCollection("DEM").setOnMarkerClickListener而不是事件聚类点击事件

onClusterClick, onClusterInfoWindowClick, onClusterItemClick, onClusterItemInfoWindowClick 

任何人都可以做了这种类型的功能或做任何人有任何更好的主意,做此功能。

回答

0

不知道如果我理解正确你想达到什么目的,但试试这个:

googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
     @Override 
     public boolean onMarkerClick(Marker marker) { 
      clusterManager1.onMarkerClick(marker); 
      clusterManager2.onMarkerClick(marker); 
     } 
    });