Я хочу использовать значок пользовательского кластера, поэтому я посмотрел демонстрацию android-maps-util и адаптировал его к моим потребностям. Сначала у меня есть макет для значка кластера на модели multi_profile.xml. В скобках, я не понял, что это утилита TextView ... если у вас есть ответ ...my IconGenerator.makeIcon() не работает
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageCluster"
android:src="@drawable/icon_guide_144_tr" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/textView"
android:layout_gravity="center" />
</FrameLayout>
А вот мой пользовательский кластер рендерер:
private class SiteMarkerRenderer extends DefaultClusterRenderer<SiteMarker> {
private final IconGenerator mClusterIconGenerator = new IconGenerator(getActivity());
public SiteMarkerRenderer() {
super(getActivity(), mMap, mClusterManager);
View multiProfile = getActivity().getLayoutInflater().inflate(R.layout.cluster_icon, null);
mClusterIconGenerator.setContentView(multiProfile);
}
@Override
protected boolean shouldRenderAsCluster(Cluster cluster) {
return cluster.getSize() > 5; // if markers <=5 then not clustering
}
@Override
protected void onBeforeClusterItemRendered(SiteMarker item, MarkerOptions markerOptions) {
markerOptions.icon(item.getMarker().getIcon()).title(item.getMarker().getTitle());
markerOptions.icon(item.getMarker().getIcon()).snippet(item.getMarker().getSnippet());
}
@Override
protected void onBeforeClusterRendered(Cluster<SiteMarker> cluster, MarkerOptions markerOptions) {
Bitmap icon = mClusterIconGenerator.makeIcon(String.valueOf(cluster.getSize()));
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon));
}
}
Итак, вы можете сказать мне, почему markerOptions.icon(), кажется, ничего не отображает?