首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在安卓系统中获取ClusterManager点击和ClusterManager项目点击

如何在安卓系统中获取ClusterManager点击和ClusterManager项目点击
EN

Stack Overflow用户
提问于 2017-09-05 22:08:13
回答 1查看 2.7K关注 0票数 1

我正在开发基于地图的应用程序,我使用集群来排列标记。它工作得很好。现在,我需要在单击clusterManager和单击item (只有一个标记)时显示一条消息,以便区分它们。

这是我的代码,setOnClusterClickListenersetOnClusterItemClickListener没有调用,所以请注意我的代码出了什么问题。

代码语言:javascript
运行
复制
    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);
EN

回答 1

Stack Overflow用户

发布于 2017-12-12 01:24:27

应该在调用setOnClusterClickListener和setOnClusterItemClickListener之前调用setOnMarkerClickListener

代码语言:javascript
运行
复制
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;
    }
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46057057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档