我正在开发基于地图的应用程序,我使用集群来排列标记。效果很好。现在,当我单击 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);
Run Code Online (Sandbox Code Playgroud) 大家下午好,我使用集群管理器管理我的谷歌地图 v2(我正在使用这个库 android-maps-utils),我想在点击标记和点击集群管理器时获得差异,但是方法没有调用,那么我的代码出了什么问题,我在这个小问题上花了 10 天,所以请帮助。
这是我的全部代码:
public class BigClusteringDemoActivity extends BaseDemoActivity implements ClusterManager.OnClusterClickListener,ClusterManager.OnClusterItemClickListener {
private ClusterManager<MyItem> mClusterManager;
@Override
protected void startDemo() {
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 10));
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();
}
getMap().setOnMarkerClickListener(mClusterManager);
}
private void readItems() throws JSONException {
InputStream inputStream = getResources().openRawResource(R.raw.radar_search);
List<MyItem> items = new MyItemReader().read(inputStream);
for (int i = 0; i < 10; i++) {
double offset = i / …Run Code Online (Sandbox Code Playgroud)