首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用安卓地图实用程序库显示InfoWindow

如何使用安卓地图实用程序库显示InfoWindow
EN

Stack Overflow用户
提问于 2014-02-19 09:52:55
回答 1查看 5K关注 0票数 9

我使用Google Maps Android API Utility Library是为了以集群的方式在地图中显示几个标记。我遵循了使其正常工作的说明,并查看了库中的示例,但我不知道如何在单击标记时显示InfoWindow

我猜getMap().setOnMarkerClickListener(mClusterManager);是管理onClick事件的那个人,如果注释掉了,我可以使用getMap().setInfoWindowAdapter(new InfoWindowAdapter() {));覆盖它,但是我没有访问自定义标记对象的权限。尽管如此,如果我使用getMap().setOnMarkerClickListener(mClusterManager);,我无法找到一种方法来显示InfoWindow时,一个标记已经被点击。

有没有人知道如何做到这一点?

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-19 10:19:38

您需要扩展DefaultClusterRenderer类并重写onBeforeClusterItemRendered,将标题附加到作为参数传递的MarkerOptions对象。

之后,您可以将您的实现传递给ClusterManager

示例:

代码语言:javascript
复制
class MyItem implements ClusterItem {

    private LatLng mPosition;
    private String mTitle;

    public MyItem(LatLng position){
        mPosition = position;
    }

    @Override
    public LatLng getPosition() {
        return mPosition;
    }

    public String getTitle() {
        return mTitle;
    }

    public void setTitle(String title) {
        mTitle = title;
    }
}

class MyClusterRenderer extends DefaultClusterRenderer<MyItem> {

    public MyClusterRenderer(Context context, GoogleMap map,
            ClusterManager<MyItem> clusterManager) {
        super(context, map, clusterManager);
    }

    @Override
    protected void onBeforeClusterItemRendered(MyItem item, MarkerOptions markerOptions) {
        super.onBeforeClusterItemRendered(item, markerOptions);

        markerOptions.title(item.getTitle());
    }

    @Override
    protected void onClusterItemRendered(MyItem clusterItem, Marker marker) {
        super.onClusterItemRendered(clusterItem, marker);

        //here you have access to the marker itself
    }
}

然后你可以用这样的方式:

代码语言:javascript
复制
ClusterManager<MyItem> clusterManager = new ClusterManager<MyItem>(this, getMap());
clusterManager.setRenderer(new MyClusterRenderer(this, getMap() ,clusterManager));
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21876809

复制
相关文章

相似问题

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