我在我的应用程序中使用了聚类,我还想要一些非聚集的标记(比如它不应该是聚类的成员)。现在我想要单独标记两次。因为我对两种不同的标记都有不同的作用。我已经提到了这个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
任何人都可以使用此类功能,或者有任何人有更好的想法来执行此功能。
答案 0 :(得分:0)
不确定我是否正确理解了您要实现的目标,但请尝试以下方法:
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
clusterManager1.onMarkerClick(marker);
clusterManager2.onMarkerClick(marker);
}
});