0

안드로이드에 마커 클러스터링을 처음 사용했습니다. ClusterItem을 구현하고 ClusterManager에 다른 모든 마커 [호텔]과 사용자 제작자를 추가했습니다. 그러나 문제는 사용자 마커를 ClusterManager에 추가하지 않으면 다른 제조업체도 클러스터되지 않는다는 것입니다.사용자 위치가없는 안드로이드 클러스터 마커

내가 원하는 것은 다른 모든 마커가 클러스터되어야한다고 사용자 제작자가 기대합니다. 제발 어떻게 도와 드릴까요?

내가 clustermanager

clusterManager = new ClusterManager<ClusterItem>(this, mMap); 
    mMap.setOnCameraIdleListener(clusterManager); 
    mMap.setOnMarkerClickListener(clusterManager); 

을 만드는 오전과 내가 우리가

clusterManager.addItem(new ClusterItem(hotelsLocation)); 

답변

0

을하지만 문제는 내가 사용자 마커를 추가하지 않을 경우를 ClusterManager하는 것입니다처럼 clusterItem을 추가하고 어떻게 다른 메이커도 클러스터되지 않습니다.

더 명확하게 표시 할 수 있습니까? 추가하거나 즉석에서 클러스터 항목을 제거, 클러스터() 메소드는 여기에 의미

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

사용하려는 경우, 그냥 항목을 추가/다시 클러스터를 계산하십시오 제거. 이 같은

+0

사용자의 clusterItem을 제거해도, 파란색 점 종류가 내 위치 [기본적으로오고 있습니다]를 나타냅니다. 그리고 클러스터는 어떤 효과도 보이지 않습니다. – FaisalAhmed

+0

오, 파란색 점입니다. 클러스터의 일부가되도록 의도가 있습니까? – Blackkara

+0

아니, 나는 그것을 사용하려는 의도가 없다. 나는 파란색 점을 제거했다. 그러나 여전히 같은 문제에 직면 해있다. – FaisalAhmed

0

초기화 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); 

그런 다음) (당신의 자신의 마크 (호텔 만) 추가 .cluster 전화 :

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); 

이 단계를 수행하면 UserMarker를 추가하지 않은 경우에도 클러스터링이 수행됩니다. 희망이 도움이됩니다.