2016-11-29 6 views
1

私はGoogle MapとクラスタリングAPIを使ってアプリケーションを手に入れました。私はレンダラだ Googleマップズーム時にクラスタが移動する

MyClusterItem item = new MyClusterItem(optionMarkerToDraw); 
clusterManager.addItem(item); 

:アイテムがまだクラスタに分類されていません

public class ClusterRenderer extends DefaultClusterRenderer<MyClusterItem> 
{ 
    public ClusterRenderer() 
    { 
     super(getActivity(), map, clusterManager); 
    } 

    @Override 
    protected void onBeforeClusterItemRendered(MyClusterItem item, MarkerOptions markerOptions) 
    { 
     markerOptions.icon(item.getIcon()); 
     markerOptions.position(item.getPosition()); 
     markerOptions.alpha(item.getAlpha()); 
    } 

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

    @Override 
    protected boolean shouldRenderAsCluster(Cluster<MyClusterItem> cluster) 
    { 
     //start clustering if at least 2 items overlap 
     return cluster.getSize() > 1; 
    } 
} 

が、彼らは上の罰金見せている私は、このようClusterItem Sを追加している

問題のない地図。

アイテムをクラスタにグループ化すると、マップをズームインまたはズームアウトするときに、クラスタがマップ上の別の場所に移動するという問題があります。

クラスタをマップ上に保存するにはどうすればよいですか?

答えて

0

問題はアルゴリズムのようだったようです。私はこの行をコードに入れました:

これが原因でした。この行を削除した後、クラスターは私が期待したようにその場所に留まりました。

+0

私はset Algorithmで同じ問題に直面していますか? – KomalG

+0

私の答えと同じ行を使ってみてください –

関連する問題