android中无用户位置的集群标记

android中无用户位置的集群标记,android,google-maps,google-maps-markers,marker,markerclusterer,Android,Google Maps,Google Maps Markers,Marker,Markerclusterer,我不熟悉android中的集群标记。我实现了ClusterItem,并在ClusterManager中添加了所有其他标记[酒店]和用户生成器。但问题是,当我不向ClusterManager添加用户标记时,它也不会对其他制造商进行集群 我想要的是,除user maker之外,所有其他标记都应该是集群的。请帮助我如何才能做到这一点 这就是我创建clustermanager的方式 clusterManager = new ClusterManager<ClusterItem>(this,

我不熟悉android中的集群标记。我实现了ClusterItem,并在ClusterManager中添加了所有其他标记[酒店]和用户生成器。但问题是,当我不向ClusterManager添加用户标记时,它也不会对其他制造商进行集群

我想要的是,除user maker之外,所有其他标记都应该是集群的。请帮助我如何才能做到这一点

这就是我创建clustermanager的方式

clusterManager = new ClusterManager<ClusterItem>(this, mMap);
    mMap.setOnCameraIdleListener(clusterManager);
    mMap.setOnMarkerClickListener(clusterManager);
但问题是,当我不向ClusterManager添加用户标记时,它也不会对其他制造商进行集群

你能说得更清楚些吗?如果要动态添加或删除群集项目,请使用

mClusterManager.addItem(item);
// mClusterManager.removeItem(item);
mClusterManager.cluster();

这里的cluster()方法意味着,仅添加/删除一个项目,请重新计算群集

初始化clusterManager,如下所示:

clusterManager = new ClusterManager<>(getActivity(), googleMap);
clusterManager.setRenderer(new OurClusterRenderer(getActivity(), googleMap, clusterManager));
googleMap.setOnCameraChangeListener(clusterManager);
googleMap.setOnMarkerClickListener(clusterManager);
googleMap.setOnInfoWindowClickListener(clusterManager);
googleMap.setInfoWindowAdapter(clusterManager.getMarkerManager());
googleMap.setOnInfoWindowClickListener(clusterManager);
最后,如果要添加用户标记:

MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(location.getLatitude(),location.getLongitude()));
markerOptions.anchor(0.5f, 1);
markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_mylocation));
googleMap.addMarker(markerOptions);

如果您遵循这些步骤,即使您不添加任何UserMarker,您的集群也将完成。希望能有所帮助。

即使我删除了用户的clusterItem,蓝点之类的东西也代表了我的位置[默认情况下会出现]。而且集群没有显示任何效果哦,蓝点,你打算让它成为集群的一部分吗?不,我没有任何打算使用它。。我去掉了那个蓝点。但仍然面临同样的问题
clusterManager.clearItems();
for (HotelModel hotelModel : hotelModelNearMeList) {
    if (hotelModel.getPosition() != null) {
        clusterManager.addItem(hotelModel);
    }
}
clusterManager.cluster();
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(location.getLatitude(),location.getLongitude()));
markerOptions.anchor(0.5f, 1);
markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_mylocation));
googleMap.addMarker(markerOptions);