2015-06-16 3 views
1

Я хочу использовать значок пользовательского кластера, поэтому я посмотрел демонстрацию 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(), кажется, ничего не отображает?

ответ

0

Фактически GMaps API V3 не может смешивать значок пользовательского кластера и значок кластера по умолчанию, созданный для отображения количества кластеров с маркерами.