我正在开发基于地图的应用程序,我使用集群来排列标记。它工作得很好。现在,我需要在单击clusterManager和单击item (只有一个标记)时显示一条消息,以便区分它们。
这是我的代码,setOnClusterClickListener
和setOnClusterItemClickListener
没有调用,所以请注意我的代码出了什么问题。
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);
发布于 2017-12-12 01:24:27
应该在调用setOnClusterClickListener和setOnClusterItemClickListener之前调用setOnMarkerClickListener
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;
}
});
https://stackoverflow.com/questions/46057057
复制相似问题