如何为Android群集和普通标记单独点击事件?

时间:2017-02-21 08:04:17

标签: android google-maps google-maps-markers markerclusterer

我在我的应用程序中使用了聚类,我还想要一些非聚集的标记(比如它不应该是聚类的成员)。现在我想要单独标记两次。因为我对两种不同的标记都有不同的作用。我已经提到了这个SO link,我按照他们的步骤。

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

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。)聚类标记

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

任何人都可以使用此类功能,或者有任何人有更好的想法来执行此功能。

1 个答案:

答案 0 :(得分:0)

不确定我是否正确理解了您要实现的目标,但请尝试以下方法:

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