2016-09-01 50 views
2

我正在开发基于Map的应用程序,我使用群集来安排标记。它工作正常。现在,当我点击标记时,我需要显示一条消息。有没有解决方案?如何在Android中获取群集标记单击事件

mMap.setOnCameraIdleListener(mClusterManager); 
mMap.setOnMarkerClickListener(mClusterManager); 

我用setOnMarkerClickListener,但我不知道在哪里点击事件将得到

回答

2

我不喜欢这样的解决方案..

mClusterManager = new ClusterManager<MyItem>(getActivity(), mMap, new MarkerManager(mMap){ 
       @Override 
       public boolean onMarkerClick(Marker marker) { 
        //here will get the clicked marker 
        return super.onMarkerClick(marker); 
       } 
      }); 
      mClusterManager.setRenderer(new CusterCustomMarkerRenderer(context , mMap, mClusterManager, HomeFragment.this)); 
      mClusterManager.setOnClusterClickListener(this); 
      mMap.setOnMarkerClickListener(mClusterManager); 
0

看起来你已经有了使用标记群集时,以检测标记上的点击事件所做的第一步。接下来,在您致电.setOnMarkerClickListener(mClusterManager)后,您需要通过实施ClusterManager.OnClusterItemClickListener<T>接口来注册clusterItemClickListener()。试试这个:

public class YourActivity extends AppCompatActivity implements 
      ClusterManager.OnClusterItemClickListener<YourClusterItem> { 

    .... 
    mMap.setOnCameraIdleListener(mClusterManager); 
    mMap.setOnMarkerClickListener(mClusterManager); 

    //set the onClusterItemClickListener 
    mClusterManager.setOnClusterItemClickListener(this); 

    //implement the onClusterItemClick interface 
    @Override 
    public boolean onClusterItemClick(YourClusterItem clusterItem){ 
     //handle click event  
     return true; 
    } 

} 
相关问题