3

ich den Code von Google Maps ClusteringGoogle Maps benutzerdefinierte Markierungssymbol mit Clustering (Android)

umgesetzt haben Dies ist der Code in meiner Tätigkeit

private void setUpClusterer() { 
    mClusterManager = new ClusterManager<StoreItem>(this, mMap); 
    mMap.setOnCameraChangeListener(mClusterManager); 
    mMap.setOnMarkerClickListener(mClusterManager); 
} 

public void addItems(List<Store> stores) { 
    for (Store store : stores) { 
     mClusterManager.addItem(new StoreItem(store.getImage(), store.getLocation().getLatitude(), store.getLocation().getLongitude())); 
    } 
} 

private void removeAllItems() { 
    mClusterManager.clearItems(); 
} 

Dies ist die StoreItem Klasse

public class StoreItem implements ClusterItem { 

    private String url; 
    private final LatLng mPosition; 

    public StoreItem(String url, double lat, double lng) { 
     this.url = url; 
     mPosition = new LatLng(lat, lng); 
    } 

    @Override 
    public LatLng getPosition() { 
     return mPosition; 
    } 

    public String getUrl() { 
     return url; 
    } 

    public void setUrl(String url) { 
     this.url = url; 
    } 
} 

Nun möchte ich die Markersymbole über den URL-Parameter in der StoreItem-Klasse ändern.

Wie kann ich das tun?

Antwort

3

Überschätzen onBeforeClusterRendered. So etwas wird funktionieren:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(here_goes_your_bitmap); 
markerOptions.icon(descriptor); 

Beachten Sie, dass der Code nur für die Probe ist. Sie müssen der Bitmap manuell Text hinzufügen und einen Caching-Mechanismus für die tatsächliche Verwendung hinzufügen. Sie können den Quellcode von DefaultClusterRenderer für Beispiel sehen.

+0

Vielen Dank Alexander! Es wirkt wie ein Zauber! –

Verwandte Themen