android - una - Cómo establecer mi propio ícono para marcadores en clusterer en Google Maps
marcadores multiples desde una base de datos en google maps (1)
Estoy usando la agrupación de GoogleMaps. Tengo 4 tipos diferentes de marcadores, cada uno se extiende desde una clase abstracta, cada uno tiene su icono owm y se define en el campo MarkerOptions. Yo uso ClusterManager para esta clase abstracta. Cuando solo uso
//marker is instance of one of extended classes and has abstract class type
clusterManager.addItem(marker);
Después de la agrupación, establece el icono como predeterminado. ¿Cómo puedo arreglar esto? Intentaba usar algo como esto:
//marker is abstract marker, getMarker returns the MarkerOptions of this marker
clusterManager.getMarkerCollection().addMarker(marker.getMarker());
pero tampoco funciona, el marcador se imprime con el icono necesario en el mapa, pero sin agrupar.
¿Debo crear crear algún método en mi clase abstracta o hay alguna manera de hacerlo extendiéndolo desde DefaultClusterRenderer? No he encontrado información al respecto usando Google o aprendiendo google maps lib.
¡Gracias por ayudar!
Entonces, fue mi tonto. Nuevamente, muestra, que debería prestar más atención, estudiando la biblioteca. Si alguien está interesado en responder, aquí está: Tenía razón, supongo, que tengo que anular algún método en DefaultClusterRenderer. Por lo tanto, la forma completa: crear una clase propia y extenderla desde DefaultClusterRenderer:
public class OwnIconRendered extends DefaultClusterRenderer<AbstractMarker>
Luego, anule el método en BeforeClusterItemRendered :
@Override
protected void onBeforeClusterItemRendered(AbstractMarker item,
MarkerOptions markerOptions) {
markerOptions.icon(item.getMarker().getIcon());
}
El camino es bastante simple, pero me parece que la agrupación comenzó a funcionar más lentamente. Entonces, eso es suficiente.