Zag*_*r84 2 android google-maps
我有一个让我发疯的问题.我使用集群管理器实现了一个包含大量点的地图,我的经理设置如下:
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);
Run Code Online (Sandbox Code Playgroud)
然后我用addItem()方法添加标记.覆盖onClusterItemInfoWindowClick方法我可以轻松检查用户何时点击信息窗口.问题是我的方法(见下文)没有提供标记,但只提供与之相关的数据对象,所以我的问题是:如何以编程方式关闭该方法内的信息窗口?
@Override
public void onClusterItemInfoWindowClick(myPOI item) {
System.out.println("onClusterItemInfoWindowClick");
}
Run Code Online (Sandbox Code Playgroud)
感谢您的关注.
首先覆盖DefaultClusterRenderer<myPOI>
.
然后在集群管理器上设置渲染器,如下所示:
mClusterManager.setRenderer(myClusterRenderer);
Run Code Online (Sandbox Code Playgroud)
然后你可以得到标记并将其隐藏起来:
@Override
public void onClusterItemInfoWindowClick(final myPOI item) {
myClusterRenderer.getMarker(item).hideInfoWindow();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1707 次 |
最近记录: |