无法理解这个问题。 我有一个集群渲染器(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,在我的Activity中我正在运行它:
rentClusterManager = new ClusterManager<OffersMarker>(this, gmap);
rentClusterManager.setRenderer(rentClusterRenderer);
我的问题是,在调用onClusterItemClick时如何显示标记的信息窗口(标题)?
聋人不应该表现出来吗?它在谷歌文档中也这么说。
答案 0 :(得分:1)
以下是我设法做到这一点(这是Kotlin代码,但你应该理解它)。 将此方法添加到自定义渲染器:
internal fun showInfoWindow(marker: OffersMarker) {
this.getMarker(marker).showInfoWindow()
}
然后在onClusterItemClick(marker: OffersMarker)
添加以下行:
(mClusterManager.renderer as RentClusterRenderer).showInfoWindow(marker)
答案 1 :(得分:0)
您需要实现onClusterItemClick的方法,该方法可以在您的活动中被覆盖。
答案 2 :(得分:0)
@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