2017-09-05 20 views
0

私はマップベースのアプリケーションを開発しています。私はマーカーを配置するためにクラスタを使用しました。それはうまく動作します。今、私はclusterManagerをクリックしたときにメッセージを表示する必要があります。アイテムをクリックすると(マーカーが1つだけ)、その間にdiffrenceを作成できます。ClusterManagerのクリックとClusterManagerアイテムの取得方法androidでのクリック

ここで私のコードは、setOnClusterClickListenersetOnClusterItemClickListenerが呼び出されていないので、私のコードで間違っています。

mClusterManager = new ClusterManager<MyItem>(this, getMap()); 

    getMap().setOnCameraChangeListener(mClusterManager); 
    try { 
     readItems(); 
    } catch (JSONException e) { 
     Toast.makeText(this, "Problem reading list of markers.", Toast.LENGTH_LONG).show(); 
    } 

    mClusterManager.setOnClusterClickListener(new ClusterManager.OnClusterClickListener<MyItem>() { 
     @Override 
     public boolean onClusterClick(Cluster<MyItem> cluster) { 
      Log.d("cluster","clicked"); 
      return true; 
     } 
    }); 
    mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<MyItem>() { 
     @Override 
     public boolean onClusterItemClick(MyItem item) { 
      Log.d("cluster item","clicked"); 
      return true; 
     } 
    }); 
    getMap().setOnMarkerClickListener(mClusterManager); 

答えて

2

あなたは

mClusterManager = new ClusterManager<MyItem>(this, getMap()); 
getMap().setOnMarkerClickListener(mClusterManager); // 
getMap().setOnCameraChangeListener(mClusterManager); 
try { 
    readItems(); 
} catch (JSONException e) { 
    Toast.makeText(this, "Problem reading list of markers.", Toast.LENGTH_LONG).show(); 
} 

mClusterManager.setOnClusterClickListener(new ClusterManager.OnClusterClickListener<MyItem>() { 
    @Override 
    public boolean onClusterClick(Cluster<MyItem> cluster) { 
     Log.d("cluster","clicked"); 
     return true; 
    } 
}); 
mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<MyItem>() { 
    @Override 
    public boolean onClusterItemClick(MyItem item) { 
     Log.d("cluster item","clicked"); 
     return true; 
    } 
}); 
setOnClusterClickListenerとsetOnClusterItemClickListener前setOnMarkerClickListenerを呼び出す必要があります
関連する問題