2017-03-10 6 views
-1

現在、Googleマップのutilsを使用して、マーカーとそのクラスタリングをマップに実装しています。クラスタ項目の合計値を変更するにはどうすればよいですか?

質問は、私が唯一のいくつかのこれらのマーカーのは、クラスタ密度の合計カウントしたいということです。

Iは、マーカータグに基づいて意思決定プロセスを作るために探していたが、私は、各クラスタ内の総マーカー数を変更する方法を見つけていないように見えることはできません。

これを行う方法はありますか?次のように

はあなたClusterRendererオーバーライドonBeforeClusterRenderedであなたに

+0

あなたが直接アイテムとしてClusterManagerのにマッピングし、他のものに非クラスタ化されたマーカーを追加しようとしないのはなぜ? –

+0

はい、私はこれについてもっと明確にすべきでした。私が本当にそれらをClusterManagerに追加したいのであれば、もしそうでなければ、ズームアウトすれば、これらのマーカーはクラスタ項目に沿って表示され、そういうものは望んでいないからです。私はそれらのすべてがクラスターの機能を共有することを願っています。 –

+0

私はあなたを理解していないかもしれませんが、もし私があなただったら、タグに基づいてクラスタリングを決定する代わりに、2つの異なるClusterManagerを使用します。私が理解する限り、クラスタ内の特定のマーカーと別のマーカーの特定のマーカーをクラスタリングする必要があります。私は正しい? –

答えて

0

ありがとう:

@Override 
protected void onBeforeClusterRendered(Cluster<MyClusterItem> cluster, 
             MarkerOptions markerOptions) { 

    // Calculate totalSum by checking the color of item 
    int totalSum = 0; 
    for (MyClusterItem item : cluster) { 
     // Assume each MyClusterItem holds an attribute -- String color --. 
     // Also, assume you can get this attribute by using the following method. 
     if (item.getColorAsString().equals("red")) { 
      totalSum++; 
     } 
    } 

    // Write a method to customize your cluster drawable according to totalSum. 
    Drawable customDrawable = customizeClusterDrawable(totalSum); 
    mClusterImageView.setImageDrawable(customDrawable); 
    Bitmap icon = mClusterIconGenerator.makeIcon(String.valueOf(cluster.getSize())); 
    markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)); 
} 
+0

これは私が今やっていたことですが、あなたの指導のためにこの方法を見つけたので、私はあなたの答えを受け入れます...本当に本当にありがとう!あなたの答えをどう受け入れることができますか? –

+0

答えの左側にあるチェックマークをクリックします。ありがとう。しかし、あなたの評判スコアで回答を受け入れることが可能かどうかはわかりません。そうでない場合、私は大丈夫です。私は助けになることをうれしく思っています。 –

関連する問題