问题描述
我有我发疯的一个问题。我一直在使用群集管理器实现了一堆点的地图,我的经理的设置是如下:
I have a problem that drive me crazy. I have implemented a map with a bunch of points using cluster manager and my manager setup is the follow:
mClusterManager = new ClusterManager<myPOI>(getActivity()
.getApplicationContext(), getMap());
mClusterManager.setRenderer(new myPOIRenderer());
mClusterManager.setOnClusterClickListener(this);
mClusterManager.setOnClusterInfoWindowClickListener(this);
mClusterManager.setOnClusterItemClickListener(this);
mClusterManager.setOnClusterItemInfoWindowClickListener(this);
mMap.setOnInfoWindowClickListener(mClusterManager);
mMap.setOnCameraChangeListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
和我添加标记使用addItem()方法。重写onClusterItemInfoWindowClick方法我可以很容易地检查,当用户在信息窗口点击。问题是,我的方法(见下文)不提供我的盯防,但是只有与它连接的数据对象,所以我的问题是:我如何通过编程关闭方法内信息窗口
and I add the markers with the addItem() method. Overriding the onClusterItemInfoWindowClick method I can easily check when a user tap on info window. The problem is that my method (see below) doesn't provide me the marker, but only the data object connected with it, so my question is: how can I programmatically close the info window inside that method?
@Override
public void onClusterItemInfoWindowClick(myPOI item) {
System.out.println("onClusterItemInfoWindowClick");
}
感谢您的关注。
推荐答案
首先重写 DefaultClusterRenderer&LT; myPOI方式&gt;
然后设置你的渲染在这样的集群管理器:
Then set your renderer on the cluster manager like this:
mClusterManager.setRenderer(myClusterRenderer);
然后你就可以得到标记,隐藏它是这样的:
Then you can get the marker and hide it like this:
@Override
public void onClusterItemInfoWindowClick(final myPOI item) {
myClusterRenderer.getMarker(item).hideInfoWindow();
}
这篇关于通过谷歌ClusterManager显示隐藏信息窗口地图Android版的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!