Android – 显示集群项目单击信息窗口(标题)

无法理解这个问题。 我有一个集群渲染器(OffersClusterRenderer)在哪里

@Override protected void onBeforeClusterItemRendered(OffersMarker item, MarkerOptions markerOptions) { int itemNumberOfOffers = item.getNrOfOffers(); BitmapDescriptor markerDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ro1); markerOptions.icon(markerDescriptor); markerOptions.snippet("Show"); markerOptions.title("Show"); super.onBeforeClusterItemRendered(item, markerOptions); } 

我也有ClusterManager,并在我的活动,我运行这个:

 rentClusterManager = new ClusterManager<OffersMarker>(this, gmap); rentClusterManager.setRenderer(rentClusterRenderer); 

我的问题是,onClusterItemClick被调用时,如何显示标记的信息窗口(标题)?

难道这不应该表现出来吗? 它在谷歌文档中这样说。

你需要实现onClusterItemClick的方法,这可以在你的活动中被覆盖。

@NilayDani是正确的。 您需要实现onClusterItemClick方法。 它是显示信息窗口标题的触发点。

信息窗口允许您在用户点击标记时向用户显示信息。 一次只显示一个信息窗口。 如果用户点击另一个标记,当前信息窗口将被隐藏,并且新的信息窗口将被显示。

添加信息窗口最简单的方法是设置相应标记的title()snippet()方法。 设置这些属性将导致一个信息窗口出现,只要点击标记。

下面是一个示例代码片段,显示标题的位置和片段:

 static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298); Marker melbourne = mMap.addMarker(new MarkerOptions() .position(MELBOURNE) .title("Melbourne") .snippet("Population: 4,137,400")); 

要查看完整的代码,请查看此处的演示代码: https : //github.com/googlemaps/android-samples/tree/master/ApiDemos

这是我如何做到这一点(这是Kotlin代码,但你应该明白)。 将此方法添加到您的自定义渲染器中:

 internal fun showInfoWindow(marker: OffersMarker) { this.getMarker(marker).showInfoWindow() } 

然后在onClusterItemClick(marker: OffersMarker)添加这一行:

 (mClusterManager.renderer as RentClusterRenderer).showInfoWindow(marker)