如何在 Android 中获取 Clustered marker click 事件
How to get Clustered marker click event in Android
我正在开发基于地图的应用程序,我使用集群来安排标记。它工作正常。现在,我需要在单击标记时显示一条消息。有解决办法吗?
mMap.setOnCameraIdleListener( mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
我使用了setOnMarkerClickListener,但是我不知道点击事件会从哪里获取
看起来您已经完成了第一步,以便在使用标记群集时检测标记上的点击事件。接下来,在调用 .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;
}
}
我是这样解决的..
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);
我正在开发基于地图的应用程序,我使用集群来安排标记。它工作正常。现在,我需要在单击标记时显示一条消息。有解决办法吗?
mMap.setOnCameraIdleListener( mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
我使用了setOnMarkerClickListener,但是我不知道点击事件会从哪里获取
看起来您已经完成了第一步,以便在使用标记群集时检测标记上的点击事件。接下来,在调用 .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;
}
}
我是这样解决的..
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);