public ClusterRenderer(Context context,
                        ClusteredMap map,
                        GoogleMap nativeMap,
                        ClusterManager manager)
     : base(context, nativeMap, manager)
 {
     this.map             = map;
     MinClusterSize       = map.ClusterOptions.MinimumClusterSize;
     disabledBucketsCache = new Dictionary <string, NativeBitmapDescriptor>();
     enabledBucketsCache  = new Dictionary <string, NativeBitmapDescriptor>();
 }
        private static IClusterAlgorithm GetClusterAlgorithm(ClusteredMap clusteredNewMap)
        {
            IClusterAlgorithm algorithm;

            switch (clusteredNewMap.ClusterOptions.Algorithm)
            {
            case ClusterAlgorithm.GridBased:
                algorithm = new GridBasedClusterAlgorithm();
                break;

            case ClusterAlgorithm.VisibleNonHierarchicalDistanceBased:
                throw new NotSupportedException("VisibleNonHierarchicalDistanceBased is only supported on Android");

            default:
                algorithm = new NonHierarchicalDistanceBasedAlgorithm();
                break;
            }

            return(algorithm);
        }
 public ClusterLogicHandler(ClusteredMap map, ClusterManager manager, ClusterLogic logic)
 {
     this.map       = map;
     clusterManager = manager;
     this.logic     = logic;
 }